失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 高斯低通和高斯高通滤波器

高斯低通和高斯高通滤波器

时间:2021-03-11 17:26:07

相关推荐

高斯低通和高斯高通滤波器

1.高斯低通滤波器(GLPF)

高斯低通滤波器的二维形式为:

其中,D0是截止频率,D(u,v)是距频率矩形中心的距离。高斯滤波器的宽度由参数 D0 表征,决定了平滑程度,而且 D0越大,高斯滤波器的频带就越宽,平滑程度就越好。因为噪声主要集中在高频段,所以通过高斯低通滤波器可以滤除噪声信息、平滑图像,但与此同时会滤除图像的细节信息,使图像变得模糊。

2.高斯高通滤波器(GHPF)

截止频率处在距频率矩形中心距离为 D0的高斯高通滤波器的传递函数为:

高通滤波与低通滤波正好相反,是频域图像的高频部分通过而抑制低频部分。在图像中图像的边缘对应高频分量,因此高通滤波的效果是图像锐化。通过高斯高通滤波器可以增强细节信息,提升图像的高频分量,减少低频分量,对微小物体和细线条也能很好地增强显示。

3.高通滤波与阈值滤波相结合

高通滤波与低通滤波正好相反,是频域图像的高频部分通过而抑制低频部分。在图像中图像的边缘对应高频分量,因此高通滤波的效果是图像锐化。

阈值处理是将滤波后的图像中的所有负值设置为黑、将所有正值设置为白后的结果。

程序代码和实验结果如下:

1.高斯低通滤波器(GLPF)

clc %清除命令窗口的内容close all %关闭所有的Figure窗口clear all %清除工作空间的所有变量%% 实现高斯低通滤波器,见函数GaussianLowpass()。%% 对Fig. 4.41(a)进行高斯低通滤波结果A = imread('Fig. 4.41(a).tif');L=ILPF_hanshu(A,100);imshow(L),title('显示为图像的滤波器');[m,n] = size(A);A = im2double(A);F = fft2(A,2*m,2*n);F1 = fftshift(F);figure;subplot(231),imshow(A),title('原图像');D0=10;%截止频率设置在半径值为10处H = GaussianLowpass(A,D0);G = F1.*H;F2 = ifftshift(G);output = ifft2(F2);output = output(1:size(A,1),1:size(A,2)); subplot(232),imshow(output),title('截止频率D0=10');D0=30;%截止频率设置在半径值为30处H = GaussianLowpass(A,D0);G = F1.*H;F2 = ifftshift(G);output = ifft2(F2);output = output(1:size(A,1),1:size(A,2)); subplot(233),imshow(output),title('截止频率D0=30');D0=60;%截止频率设置在半径值为60处H = GaussianLowpass(A,D0);G = F1.*H;F2 = ifftshift(G);output = ifft2(F2);output = output(1:size(A,1),1:size(A,2)); subplot(234),imshow(output),title('截止频率D0=60');D0=160;%截止频率设置在半径值为160处H = GaussianLowpass(A,D0);G = F1.*H;F2 = ifftshift(G);output = ifft2(F2);output = output(1:size(A,1),1:size(A,2)); subplot(235),imshow(output),title('截止频率D0=160');D0=460;%截止频率设置在半径值为460处H = GaussianLowpass(A,D0);G = F1.*H;F2 = ifftshift(G);output = ifft2(F2);output = output(1:size(A,1),1:size(A,2)); subplot(236),imshow(output),title('截止频率D0=460');function H = GaussianLowpass(img,D0)% 高斯低通滤波器[M,N] = size(img);H = zeros(2*M,2*N);for u = 1:2*Mfor v = 1:2*ND_square = (u-M) * (u-M) + (v-N) * (v-N); H(u,v) = exp(-D_square/(2*D0*D0)); endendend%%理想低通滤波器函数function H = ILPF_hanshu(img,D0) [m,n]=size(img);P = 2*m;Q = 2*n;H = zeros(P,Q);for u = 1:Pfor v = 1:QD = ((u-m) * (u-m) + (v-n) * (v-n))^0.5; if D <= D0H(u,v) = 1;elseH(u,v) = 0;endendendend

实验结果:

编写高斯低通滤波函数,通过高斯低通滤波器后,实现如图效果,截止频率D0分别设置为10,30,60,160,460。其低频信息保留,高频细节被滤除。当截止频率较低时,滤波后图像虽然比原图像平滑,由于许多细节信息缺失,导致图像变得模糊不清。当截止频率较高时,图像比较清晰。

2.高斯高通滤波器(GHPF)

clc %清除命令窗口的内容close all %关闭所有的Figure窗口clear all %清除工作空间的所有变量%% 实现高斯高通滤波器A = imread('Fig. 4.41(a).tif');A = im2double(A);[a,b] = size(A);subplot(221),imshow(A),title('原图像');F = fft2(A,2*a,2*b);F3 = fftshift(F);[a,b] = size(A);W = zeros(2*a,2*b);D0=30;for u = 1:2*afor v = 1:2*bD_square = (u-a) * (u-a) + (v-b) * (v-b); W(u,v) =1 - exp(-D_square/(2*D0*D0)); endendG = F3.*W;F4 = ifftshift(G);F1 = ifft2(F4);F1 = F1(1:size(A,1),1:size(A,2)); subplot(222),imshow(F1),title('高通滤波D0=30');D0=60;for u = 1:2*afor v = 1:2*bD_square = (u-a) * (u-a) + (v-b) * (v-b); W(u,v) =1 - exp(-D_square/(2*D0*D0)); endendG = F3.*W;F4 = ifftshift(G);F1 = ifft2(F4);F1 = F1(1:size(A,1),1:size(A,2)); subplot(223),imshow(F1),title('高通滤波D0=60');D0=120;for u = 1:2*afor v = 1:2*bD_square = (u-a) * (u-a) + (v-b) * (v-b); W(u,v) =1 - exp(-D_square/(2*D0*D0)); endendG = F3.*W;F4 = ifftshift(G);F1 = ifft2(F4);F1 = F1(1:size(A,1),1:size(A,2)); subplot(224),imshow(F1),title('高通滤波D0=120');

实验结果:

通过高斯高通滤波,实现了如图的效果,通过高斯高通滤波器可以增强细节信息,提升图像的高频分量,减少低频分量,对微小物体和细线条也能很好地增强显示。D0分别取30,60和160。

3.高通滤波与阈值滤波相结合

clc %清除命令窗口的内容close all %关闭所有的Figure窗口clear all %清除工作空间的所有变量A = imread('Fig. 4.57(a).tif');A = im2double(A);[a,b] = size(A);subplot(131),imshow(A),title('原图像');F = fft2(A,2*a,2*b);F3 = fftshift(F);[a,b] = size(A);W = zeros(2*a,2*b);D0=50;for u = 1:2*afor v = 1:2*bD_square = (u-a) * (u-a) + (v-b) * (v-b); W(u,v) =1 - exp(-D_square/(2*D0*D0)); endendG = F3.*W;F4 = ifftshift(G);F1 = ifft2(F4);F1 = F1(1:size(A,1),1:size(A,2)); subplot(132),imshow(F1),title('高通滤波D0=50');B=F1;for i=1:size(B,1)for j=1:size(B,2)if(B(i,j)>0)B(i,j)=255;%阈值化的方法,从亮的背景中分割出暗的物体elseif(B(i,j)<0)B(i,j)=0;%阈值化的方法,从暗的背景中分割出亮的物体endendendsubplot(133),imshow(B),title('阈值操作后的结果');

实验结果:

使用截止频率为50的高斯高通滤波器进行滤波,高通滤波后的图像失去了它的灰度色调,因为直流项已被减小为0.最终结果是,高通滤波后的图像中,典型的暗色调已经成为主流,因此需要额外的处理来增强细节。

对滤波后的图像进行阈值处理,将图像中的所有负值设置为黑、将所有正值设置为白。结果是,脊线变得清晰,且污染明显较小,图像得到很好地增强。

如果觉得《高斯低通和高斯高通滤波器》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。