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

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

%{

基于直方图均衡化的水下图像处理
时间:2014年11月20日22:15:40
整理:
采用直方图均衡化的算法,对采集图像RGB三个颜色
通道分别进行直方图均衡化处理,得到水下图像的修正结果
%}
clear;
t = imread('wa3.png');  
d=t;
subplot(121);
imshow(t),title('原始图像');
I=d(:,:,1);%R颜色通道
dis(:,:,1)=junhenghua(I);% 调用均衡化函数
I=d(:,:,2);%G颜色通道
dis(:,:,2)=junhenghua(I); % 调用均衡化函数
I=d(:,:,3);%B颜色通道
dis(:,:,3)=junhenghua(I);% 调用均衡化函数
subplot(122);
imshow(dis),title('一次均衡化之后的图像')%显示均衡化后的图像
figure,imshow(dis(:,:,1)),title('红色通道均衡化处理');

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

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




  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
夜景图像增强是计算机视觉领域的一个重要研究方向。直方图均衡化是一种简单有效的图像增强算法,可以使图像的对比度增强,从而提高图像的视觉效果。基于直方图均衡化的夜景图像增强算法的主要思路是将夜景图像进行直方图均衡化处理,以提高图像的亮度和对比度。 下面是一个基于直方图均衡化的夜景图像增强算法的具体步骤: 1. 将夜景图像转换为灰度图像。 2. 对灰度图像进行直方图均衡化处理,可以使用OpenCV库中的equalizeHist()函数实现。直方图均衡化可以使图像中的像素值分布更加均匀,从而提高图像的对比度。 3. 对均衡化后的图像进行高斯滤波,以去除图像中的噪声。 4. 对滤波后的图像进行二值化处理,可以使用OpenCV库中的threshold()函数实现。二值化处理可以将图像中的像素值分为黑色和白色两种,并且可以根据阈值的不同调整图像的亮度。 5. 对二值化后的图像进行形态学操作,可以使用OpenCV库中的morphologyEx()函数实现。形态学操作可以去除图像中的小斑点,同时可以增强图像的边缘。 6. 最后将形态学操作后的图像与原始夜景图像进行融合,可以使用OpenCV库中的addWeighted()函数实现。融合后的图像既保留了原始图像中的细节信息,同时又增强了图像的亮度和对比度。 基于直方图均衡化的夜景图像增强算法可以有效地提高夜景图像的视觉效果,但是该算法也存在一些缺陷,例如处理后的图像可能会出现过度增强等问题。因此,在实际应用中需要根据具体的场景和需求选择合适的图像增强算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值