2016-02-26 125 views
1

我在寻找一个很好的例子,显示了引导和高斯滤波器之间的不同。该示例需要显示Guided filter的好处(例如:保留边缘...)。你能给我举一个例子来完成这个任务吗?在此先感谢引导和高斯滤波器之间比较的好例子

我尝试了一些例子,但它并没有表现出指导的比较利益与高斯

% example: edge-preserving smoothing 
% figure 1 in our paper 

close all; 

I = double(imread('.\img_smoothing\cat.bmp'))/255; 
I = imnoise(I,'gaussian',0.1,0); 
p = I; 
r = 4; % try r=2, 4, or 8 
eps = 0.2^2; % try eps=0.1^2, 0.2^2, 0.4^2 

q = guidedfilter(I, p, r, eps); 
std_Gb=1; 
beta=0.1; 
%% Initialization 
Ng=ceil(3*std_Gb)+1; Gaussian = fspecial('gaussian',[Ng Ng],std_Gb); 
imsm = conv2(I,Gaussian,'same'); 

[Gx,Gy] = gradient(q); 
NormGrad = sqrt(Gx.^2 + Gy.^2); 
Gb1 = 1./ (1 + 1* NormGrad.^2); 

[Gx,Gy] = gradient(imsm); 
NormGrad = sqrt(Gx.^2 + Gy.^2); 
Gb2= 1./ (1 + 1* NormGrad.^2); 

figure(); 
subplot(2,1,1);imshow([I, q,imsm],[]); 
subplot(2,1,2);imshow([Gb1,Gb2],[]); 

enter image description here

+0

'double(img)/ 255'等于'im2double' – plhn

+0

没关系。这只是正常化 – Jame

+0

没错。 im2double做到这一点。 – plhn

回答

0

如果我正确地读你的榜样,我想你已经显示出什么你需要。高斯模糊图像(中心)比导向滤波器版本(右)具有更少的边缘细节,这也显示了一些平滑。

+0

对不起。我没有标题的形象。导向滤波器是左侧,高斯是右侧 – Jame