图像去雾(一般)

转自:http://blog.csdn.net/sjzcandy/article/details/5810700(原创地址不详)


正文:


zhuan:关于cvpr2009的best paper图像去雾及其另一matlab实现


这篇论文是讲风景图片去雾的, 主要特点是方法简单, 而效果却不错

在作者主页那里有论文原文, 还有一个ppt不错:

http://personal.ie.cuhk.edu.hk/~hkm007/cvpr09/cvpr09slides.pdf

看完ppt,我写过一个简单的matlab实现, 其中的soft matting优化没写, 谁有兴趣写一个共享一下哈..

贴代码吧, 很简单滴..., 如有理解上的错误和bug, 欢迎指正..

clear

clc

close all

kenlRatio = .01;

image_name = '18.jpg';

img=imread(image_name);

sz=size(img);

w=sz(2);

h=sz(1);

dc = zeros(h,w);

for y=1:h

    for x=1:w

        dc(y,x) = min(img(y,x,:));

    end

end

figure, title('src')

imshow(uint8(img))

figure, title('Min(R,G,B)')

imshow(uint8(dc))

krnlsz = floor(max([3, w*kenlRatio, h*kenlRatio]))

dc2 = minfilt2(dc, [krnlsz,krnlsz]);

dc2(h,w)=0;

    

figure, title('After filter ')

imshow(uint8(dc2))

t = 255 - dc2;

figure, title('t')

imshow(uint8(t))

t_d=double(t)/255;

A = min([240, max(max(dc2))])

J = zeros(h,w,3);

img_d = double(img);

J(:,:,1) = (img_d(:,:,1) - (1-t_d)*A)./t_d;

J(:,:,2) = (img_d(:,:,2) - (1-t_d)*A)./t_d;

J(:,:,3) = (img_d(:,:,3) - (1-t_d)*A)./t_d;

figure, title('J')

imshow(uint8(J))

imwrite(uint8(J), ['_', image_name])

上几张图把, 感觉我的这个实现效果不大好......

zhuan:关于cvpr2009的best paper图像去雾及其另一matlab实现  - drj08 - 无敌小Q

原图

zhuan:关于cvpr2009的best paper图像去雾及其另一matlab实现  - drj08 - 无敌小Q

增强后的图, 简直是"水变油"...囧

0

0

0

minfilt2在这里

http://www.mathworks.com/matlabcentral/fileexchange/1358

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值