关于cvpr2009的best paper

这篇论文是讲风景图片去雾的, 主要特点是方法简单, 而效果却不错
在作者主页那里有论文原文, 还有一个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])

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

原图

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

posted on 2009-08-21 00:35  cutepig  阅读(2457)  评论(5编辑  收藏  举报

导航