赞
踩
算法思想:
首先将图像转换为double型,扩大图像并进行傅里叶变换及中心化处理,获得频域的图像;根据高斯高通滤波器的定理,通过两层循环将高斯高通滤波器的频域矩阵求出,对频域的图像和滤波器矩阵进行点乘,获得处理后的矩阵,将矩阵进行去中心化和反傅里叶并取实部得到空域的图像像素值,最后进行裁剪,得到滤波处理后的图像。高频强调是对频域的滤波器人为的加上一个偏移量a和乘上一个大于1的常数b(H1=a+b*H(u,v)),使图像中一部分低频分量进入高频区域,而在高频滤波后被保留,不仅保持部分光滑区域的灰度,又使边缘得到增强,图像层次更加丰富。将高斯高通滤波进行高频强调后再次于原图频域点乘,观察图像效果。
I=imread('xfigure.bmp'); figure;subplot(221);imshow(I);title('原图'); I=double(rgb2gray(I)); %进行频域转换为double型 [h,w]=size(I); p=2*h; %扩充图像 q=2*w; fi=fftshift(fft2(I,p,q)); %傅里叶变换及频谱 %高斯高通滤波器 g=zeros(p,q); for x = (-p/2):1:(p/2)-1 %计算高斯滤波器 for y = (-q/2):1:(q/2)-1 D=(x^2 + y^2)^(0.5); D0 = 40; %截至频率 g(x+(p/2)+1,y+(q/2)+1)=1-exp(-(D*D)/(2*D0*D0)); end end fg=fi.*g; %滤波器与图像在频域点乘 Fg=real(ifft2(ifftshift(fg))); %取反傅里叶反中心化结果的实部 Fg=uint8(Fg(1:1:h,1:1:w)); %将图像恢复到原来的大小 subplot(222);imshow(Fg);title('高斯高通滤波处理'); %高频强调 ge=0.3+3*g; fge=fi.*ge; Fge=real(ifft2(ifftshift(fge))); %取反傅里叶反中心化结果的实部 Fge=uint8(Fge(1:1:h,1:1:w)); %将图像恢复到原来的大小 subplot(223);imshow(Fge);title('高频强调后的高斯高通滤波处理'); hFge=histeq(Fge); subplot(224);imshow(hFge);title('直方图均衡化高频强调的高斯高通滤波处理');
图像进行高频强调的滤波处理比只进行滤波处理细节较丰富,将高频强调滤波处理后的图像进行直方图均衡化,图像更加清晰,细节更非富。
频率域高通滤波目的是实现在频率域获得图像的边缘细节,可以构造一个高通滤波使得边缘细节顺利通过。理想高通滤波器,是根据定义的截至频率D0,判断D(u,v)和D0的关系,若D(u,v)>=D0,则令该处的滤波器值为1,否则为0。D0半径外的的频率分量顺利通过,半径内的会被滤除。通过这样计算出所有D(u,v)和D0的关系,就是理想高通滤波器在频域的值,再将该矩阵与频域中的图像点乘,就进行了滤波处理。
巴特沃斯高通滤波器和理想滤波器实现类似,但巴特沃斯滤波器的通带和阻带之间没有明显的不连续性,振铃现象减弱。它的n为阶数用来控制曲线的衰减速度,由定义的函数实现频域的滤波。
高斯高通滤波器同以上两种滤波器实现相同,根基定义的函数实现频域滤波,没有振铃现象。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。