基于单幅图像的快速去雾算法实现

清华大学,刘倩,基于单幅图像的快速去雾算法(知网上可以找到2013年的文章)。

此方法过程:

matlab实现的算法:

I=imread('tiananmen.jpg')
figure
imshow(I);
title('original');

%输入有雾图像
H=double(I)/255.0;
[h,w,c]=size(H);

%三通道最小值
M=min(H,[],3);

%对M进行均值滤波
sv = ceil(max(h, w) / 50);
if mod(sv, 2) == 0
    sv = sv + 1;
end
f=fspecial('average',sv); %
Mave = imfilter(M, f, 'symmetric');  
figure,imshow(Mave,[]),title('均值滤波后的结果');

% 求取M(x)中所有元素的均值Mav
Mav=mean(mean(M));

%求L
e=2.0;
L=min(min(e*Mav,0.9)*Mave,M);

% 利用Mave(x)和H(x),求出A
temp = max(H, [], 3);
A = 0.5 * (max(temp(:)) + max(Mave(:))) * [1; 1; 1];

% 去雾后图像F(x)
[h, w, c] = size(H);
F = zeros(h, w, c);
for k=1:c
    F(:,:,k) = (H(:,:,k) - L) ./ (1 - L/A(k));
end
imshow(F,[]);

 

去雾效果

1,无天空效果不错

 

2、有天空效果较差,存在光晕

 

 

 

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值