频域处理 之 高通滤波与绘图

来源:互联网 发布:手机淘宝怎么交电费 编辑:程序博客网 时间:2024/06/07 18:39

使用低通滤波器

 clc,clear,close all;f=imread('lena.jpg');f=rgb2gray(f);figure,imshow(f);PQ=paddedsize(size(f));[U,V] = dftuv(PQ(1),PQ(2));D0 = 0.05*PQ(2);H = lpfilter('gaussian',PQ(1),PQ(2),D0);g = dftfilt(f,H);imshow(uint8(g),[]);

效果:



使用matlab来做线框图

H1=fftshift(H);mesh(H1(1:10:500,1:10:500))axis([0 50 0 50 0 1])colormap([0 0 0 ])grid offaxis offview(-25,30);



也可以做表面图

H2=fftshift(H);surf(H2(1:10:500,1:10:500));axis([0 50 0 50 0 1])


高通滤波器

H = fftshift(hpfilter_my('ideal',500,500,50));mesh(H(1:10:500,1:10:500));axis([0 50 0 50 0 1])colormap([0 0 0 ])grid offaxis off


对图像进行高通滤波,结果:



高频强调滤波

高通滤波偏离了直流项,从而把图像平均值降低到了0,一种补偿方法是给高通滤波器加上一个偏移量,若偏移量与滤波器乘以一个大于1的常数结合起来,则这种方法就称为高频强调滤波。



PQ=paddedsize(size(f));[U,V] = dftuv(PQ(1),PQ(2));D0 = 0.05*PQ(1);Hbtw = hpfilter_my('btw',PQ(1),PQ(2),D0,2);H=0.5+2*Hbtw;g = dftfilt(f,H);figure,imshow(uint8(g),[]);




0 0
原创粉丝点击