基于直方图均衡化的激光水下图像处理

举报
风吹稻花香 发表于 2021/06/04 23:31:38 2021/06/04
【摘要】 采用直方图进行水下图像处理,感觉对我搜到的这几个图片效果可以,最近看了一些使用修正的暗通道进行水下图像处理的,但是我没有弄出来效果。我感觉即使使用暗通道进行处理,那么每个通过处理的结果应该也朝直方图均衡化处理的结果发展。 %{ 基于直方图均衡化的水下图像处理 时间:2014年11月20日22:15:40 整理: 采用直方图均衡化的算法,对采集图像RGB三个颜色 通...

采用直方图进行水下图像处理,感觉对我搜到的这几个图片效果可以,最近看了一些使用修正的暗通道进行水下图像处理的,但是我没有弄出来效果。我感觉即使使用暗通道进行处理,那么每个通过处理的结果应该也朝直方图均衡化处理的结果发展。

%{
























figure,imshow(dis(:,:,3)),title('蓝色通道均衡化处理');


调用的函数

%{
  均衡化处理函数。。
  水下图像处理调用函数。。。
  对输入的图像进行直方图统计,然后进行直方图均衡化处理
%}
function [rgb,gp]= junhenghua(I)
[height,width] = size(I);  
%对R通道进行均衡化处理,均衡化可以写一个统一的函数,直接调用
%进行像素灰度统计;  
s = zeros(1,256);%统计各灰度数目,共256个灰度级  
%绘制直方图
gp=zeros(1,256);
for k=0:255
    gp(k+1)=length(find(I==k))/(height*width);
end
for i = 1:height  
    for j = 1: width  
        s(I(i,j) + 1) = s(I(i,j) + 1) + 1;%对应灰度值像素点数量增加一  
    end  
end  
%计算灰度分布密度  
p = zeros(1,256);  
for i = 1:256  
    p(i) = s(i) / (height * width * 1.0);  
end  
%计算累计直方图分布  
c = zeros(1,256);  
c(1) = p(1);
for i = 2:256   
        c(i) = c(i - 1) + p(i);  
end  
%累计分布取整,将其数值归一化为1~256
c = uint8(255 .* c + 0.5);  
%对图像进行均衡化
for i = 1:height  
    for j = 1: width  
        rgb(i,j) = c(I(i,j)+1);  
    end  
end  
gp=zeros(1,256);
for k=0:255
    gp(k+1)=length(find(rgb==k))/(height*width);
end
end

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/54616471

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。