双边滤波器去噪matlab,双边滤波器(BilateralFilter)保护边缘的平滑滤波。。。

双边滤波器去噪matlab,双边滤波器(BilateralFilter)保护边缘
的平滑滤波。。。
原理滤波器是图像处理和计算机视觉中最基础的运算。⽽Bilateral Filter⼜是⼗分经典的⼀种滤波器,这主要得益于它的⼀个突出的特点,就是对图像进⾏平滑时,能进⾏边缘保护。
⽽Bilateral Flter的这个特性主要是因为他在平滑滤波时同时考虑了像素间的⼏何距离和⾊彩距离。
下⾯将详细具体讲述原因。
通俗的讲,对图像进⾏滤波就是⼀个加权平均的运算过程,滤波后图像中的每个像素点都是由其原图像中该点临域内多个像素点值的加权平均。不同的滤波器,最根本的差异就是权值不同。Bilateral Filter具有两个权重,分别与⼏何距离和⾊彩距离相关,它的⼀般表达式为:
式中,权重
和邻域像素点
与中⼼像素点
之间的⼏何距离相关,权重
和邻域像素点
与中⼼像素点
之间的⾊彩距离相关。
也就是说,随着
之间⼏何距离和⾊彩距离的变化,像素点
的权重
随之变化。这样的⼀个滤波器是⼀个智能的可⾃动调节权重的滤波器。⾄于如何⾃动调节,就取决于权重函数
的具体表达式了。
最简单和常见的⼀种Bilteral Filter是两个权重函数均为⾼斯函数,即:
其中,||x-y||求的是两个值x,y之间的欧式距离。
采⽤⾼斯函数之后,当邻域像素点
与中⼼像素点
的欧式距离⽐较⼤,或是两个像素值相差⽐较⼤时,该像素点的权重就⽐较⼩,导致该像素点对滤波后的像素点的影响较⼩。更进⼀步,每个滤波后像素点的值,受与他⾊彩相近并且距离较近的像素点的影响较⼤,⽽受其他临域像素点的影响较⼩,这样保护了图像中原像素点的⾊彩,滤掉了少数存在的“噪声点”,起到了平滑的作⽤,同时⼜保护了边缘。
举个例⼦,如下图所⽰:
(a)为图像中的⼀个patch,图中⽤⾼度代表该像素点的像素值。
(b)为求得(a)中右侧边缘上的⼀个像素点的权重
(图中⽤⾼度代表权重的⼤⼩),可以看到,颜⾊越相近
值越⼤,距离越近
值越⼤,那么最终两个权重的积就如图中分布。
(c)对(a)图中的每⼀个像素点都进⾏Bilateral滤波,结果如图(c)所⽰,可以看到滤波的结果即保护了边缘,同时平滑了图像。实验&Code
对于灰度图像进⾏bilateral滤波,matlab代码如下:
functionout_img=bilateral_filter(in_img,w,sigma_c,sigma_s);
%matlab codeforbilateral filter
%Pre-computeGaussiandistance weights.
[X,Y]=meshgrid(-w:w,-w:w);
C=exp(-(X.^2+Y.^2)/(2*sigma_c^2));
%Applybilateral filter.
[m,n,c]=size(in_img);
out_img=zeros(m,n,c);
fori=1:m
forj=1:n
%Extractlocalregion.
I=in_img(max(i-w,1):min(i+w,m),max(j-w,1):min(j+w,n));海水螺旋藻
凌斌 胡雪
%ComputeGaussianintensity weights.
S=exp(-(I-in_img(i,j)).^2/(2*sigma_s^2));
%Calculatebilateral filter response.
F=S.*C((max(i-w,1):min(i+w,m))-i+w+1,(max(j-w,1):min(j+w,n))-j+w+1);
out_img(i,j)=sum(F(:).*I(:))/sum(F(:));
end
end
对于彩⾊图像进⾏bilateral滤波,matlab代码如下:
functionout_img=bilateral_filter(in_img,w,sigma_c,sigma_s);
%matlab codeforbilateral filter]
%Convertinput sRGB image toCIELabcolor space.
持久收入假说%in_img=colorspace('Lab
%Pre-computeGaussiandistance weights.
[X,Y]=meshgrid(-w:w,-w:w);
C=exp(-(X.^2+Y.^2)/(2*sigma_c^2));
%Rescalerange variance(usingmaximum luminance).
sigma_s=100*sigma_s;
%Applybilateral filter.
[m,n,c]=size(in_img);
out_img=zeros(m,n,c);
fori=1:m
forj=1:n
%Extractlocalregion.
无谓空间I=in_img(max(i-w,1):min(i+w,m),max(j-w,1):min(j+w,n),:);
%ComputeGaussianintensity weights.
dL=I(:,:,1)-in_img(i,j,1);
da=I(:,:,2)-in_img(i,j,2);
db=I(:,:,3)-in_img(i,j,3);
S=exp(-(dL.^2+da.^2+db.^2)/(2*sigma_s^2));
%Calculatebilateral filter response.
F=S.*C((max(i-w,1):min(i+w,m))-i+w+1,(max(j-w,1):min(j+w,n))-j+w+1); out_img(i,j,1)=sum(sum(F.*I(:,:,1)))/sum(F(:));
out_img(i,j,2)=sum(sum(F.*I(:,:,2)))/sum(F(:));
双向dcdc变换器out_img(i,j,3)=sum(sum(F.*I(:,:,3)))/sum(F(:));
end
end
%Convertfiltered image back to sRGB color space.
%out_img=colorspace('RGB
close all;
tronatic motion
in_img=imread('lena.jpg');%orin_img=rgb2gray(imread('lena.jpg'));
in_img=rgb2gray(imread('1.jpg'));
in_img=double(in_img)/255;
in_img=in_img+0.05*randn(size(in_img));
in_img(in_img<0)=0;in_img(in_img>1)=1;
%Setbilateral filter parameters.
w=10;%bilateral filter half-width
sigma_c=3;%bilateral filter standard deviations
sigma_s=0.1;
out_img=bilateral_filter(in_img,w,sigma_c,sigma_s);
figure,
subplot(1,2,1),imshow(in_img,[]),title('input image');
subplot(1,2,2),imshow(out_img,[]),title('output image');实验结果:
参考⽂献:
C. Tomasi, R. Manduchi. “Bilateral Filtering for Gray and Color Images“, ICCV 1998.
概念理解:对于传统的维纳滤波和⾼斯滤波,都只是在像素点邻域范围内进⾏卷积操作,⽽双边滤波⼜加⼊了像素点差值的限制,这样对于边缘点像素变化很⼤的地⽅,便不会受到滤波影响了,也就达到了保存边缘的滤波效果。
双边滤波器的修改:
⾸先说⼀下双边滤波器,双边滤波器的好处是可以做边缘保存edge preserving,⼀般过去⽤的维纳滤波或者⾼斯滤波去降噪,都会较明显的模糊边缘,对于⾼频细节的保护效果并不明显。双边滤波器顾名思义⽐⾼斯滤波多了⼀个⾼斯⽅差sigma-d,它是基于空间分步的⾼斯滤波函数,所以在边缘附近,离的较远的像素不会太多影响到边缘上的像素值,这样就保证了边缘附近像素值的保存。
但是由于保存了过多的⾼频信息,对于彩⾊图像⾥的⾼频噪声,双边滤波器不能够⼲净的滤掉,只能
够对于低频信息进⾏较好的滤波,因此我们对于双边滤波器进⾏了改进,由于⼩波分解可以把信号分解为⾼频和低频部分,我们对于不同频率段进⾏不同的滤波。⾸先将彩⾊图像RGB模式转为CIE-LAB模式,然后做⼀次离散⼆维⼩波变换dwt2,对于⾼频的HH,LH,HL部分我们⽤Bayes shrink的阈值做了软门限soft thresholding,对于低频部分我们把它再进⾏分解,然后对⾼频做⼩波阈值,对低频采⽤双边滤波。这样取得的恢复图像,MSE减少了30%,⾊差误差ciede2000减少了50%,可证明更适于滤波和⼈类视觉系统。

本文发布于:2024-09-22 07:11:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/91427.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:滤波   像素点   图像   边缘   距离   双边   像素   权重
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议