【图像处理】MATLAB:频域处理

来源:互联网 发布:什么是中文域名 编辑:程序博客网 时间:2024/05/16 09:03

二维离散傅里叶变换

代码示例

f = imread('image.tif');F = fft2(f);                                                %傅里叶变换,逆变换为 f=ifft2(F),取实部为 f=real(ifft2(F))S = abs(F);                                                 %傅里叶频谱Fc = fftshift(F);                                           %将变换的原点移动到频率矩阵的中心,反变换为 F=ifftshift(Fc),                                                            %频率矩阵中心点位于[floor(M/2)+1,floor(N/2)+1]S2 = log(1+abs(Fc));                                        %对数变换subplot(2,2,1);imshow(f);title('简单图像');subplot(2,2,2);imshow(S,[ ]);title('傅里叶频谱');subplot(2,2,3);imshow(abs(Fc),[ ]);title('居中的频谱');subplot(2,2,4);imshow(S2,[ ]);title('对数变换后视觉增强的图像');

运行结果


频域滤波

  若使用DFT进行滤波操作,则图像及其变换都将自动地看成是周期性的。若周期关于函数的非零部分的持续时间很靠近,则对周期函数执行卷积运算会导致相邻周期之间的干扰,称之为折叠误差的干扰。可通过使用零来填充函数的方法避免。

  若处理的函数大小均是M×N,则填充值可设置为:P≥2M-1 和 Q ≥2N-1。

  paddedsize函数用于计算满足PQ的最小偶数值,同样也提供一个选项来填充输入图像,以便形成的方形图像的大小等于最接近的2的整数次幂。根据所得出的PQ,可使用函数fft2来计算经零填充后的FFT:

    F = fft2 ( f , PQ ( 1 ) , PQ ( 2 ) )

function PQ = paddedsize(AB, CD, PARAM)%PADDEDSIZE Computes padded sizes useful for FFT-based filtering. %   PQ = PADDEDSIZE(AB), where AB is a two-element size vector,%   computes the two-element size vector PQ = 2*AB.%%   PQ = PADDEDSIZE(AB, 'PWR2') computes the vector PQ such that%   PQ(1) = PQ(2) = 2^nextpow2(2*m), where m is MAX(AB).%%   PQ = PADDEDSIZE(AB, CD), where AB and CD are two-element size%   vectors, computes the two-element size vector PQ.  The elements%   of PQ are the smallest even integers greater than or equal to %   AB + CD - 1.%%   PQ = PADDEDSIZE(AB, CD, 'PWR2') computes the vector PQ such that%   PQ(1) = PQ(2) = 2^nextpow2(2*m), where m is MAX([AB CD]). %   Copyright 2002-2004 R. C. Gonzalez, R. E. Woods, & S. L. Eddins%   Digital Image Processing Using MATLAB, Prentice-Hall, 2004%   $Revision: 1.5 $  $Date: 2003/08/25 14:28:22 $if nargin == 1   PQ  = 2*AB;elseif nargin == 2 & ~ischar(CD)   PQ = AB + CD - 1;   PQ = 2 * ceil(PQ / 2);elseif nargin == 2   m = max(AB); % Maximum dimension.   % Find power-of-2 at least twice m.   P = 2^nextpow2(2*m);   PQ = [P, P];elseif nargin == 3   m = max([AB CD]); % Maximum dimension.   P = 2^nextpow2(2*m);   PQ = [P, P];else    error('Wrong number of inputs.')end

代码示例

f = imread('square.tif');%不使用填充的频率低通滤波处理[M,N] = size(f);F = fft2(f);sig = 10;H = lpfilter('gaussian',M,N,sig);   %用于生成高斯低通滤波器G = H.*F;g = real(ifft2(G));%使用填充的频率低通滤波处理PQ = paddedsize(size(f));                   %获取填充参数Fp = fft2(f,PQ(1),PQ(2));                   %得到使用填充的傅里叶变换Hp = lpfilter('gaussian',PQ(1),PQ(2),2*sig);    %高斯低通滤波器Gp = Hp.*Fp;                                %将变换乘以滤波函数gp = real(ifft2(Gp));                       %获得傅里叶逆变换的实部gpc = gp(1:size(f,1),1:size(f,2));          %将左上部的矩形修剪为原始大小subplot(1,3,1);imshow(f);title('简单颜色块图像');subplot(1,3,2);imshow(g,[ ]);title('不使用填充的低通滤波');subplot(1,3,3);imshow(gp,[ ]);title('使用填充的低通滤波');

运行结果

不使用填充对应图像顶边有黑线的解释:


空间滤波和频域滤波的比较

  使用空间域滤波和频域滤波得到的图像对所有实用目的来说,都是相同的。

  通常来说,当滤波器较小时,空间滤波要比频域滤波更有效,但是这个“小”的定义比较复杂,取决于众多因素,如所使用算法、缓冲器大小、数据复杂度等。

  函数 freqz2 用于计算FIR滤波器的频率响应。

    H = freqz2 ( h , R , C )

  其中,h是一个二维空间滤波器,H是响应的二维频域滤波器,R为H的行数,C为H的列数。

代码示例

f = imread('bld.tif');F = fft2(f);S = fftshift(log(1+abs(F)));S = gscale(S);h = fspecial('sobel');PQ = paddedsize(size(F));H = freqz2(h,PQ(1),PQ(2));H1 = ifftshift(H);gs = imfilter(double(f),h);gf = dftfilt(f,H1);subplot(3,2,1);imshow(f);title('灰度级图像');subplot(3,2,2);imshow(S);title('傅里叶频谱');subplot(3,2,3);imshow(abs(H),[ ]);title('频域滤波器:垂直soble掩模');subplot(3,2,4);imshow(abs(H1),[ ]);title('频域经fftshift处理后的滤波器');subplot(3,2,5);imshow(gs,[ ]);title('空间域滤波器:垂直soble掩模');subplot(3,2,6);imshow(gf,[ ]);title('空间域经fftshift处理后的滤波器');

运行结果


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 亚马逊客服电话打不通怎么办 安卓软件闪退怎么办? 吃鸡麦克风炸麦怎么办 美版iphone屏摔了怎么办 天地荣域四十后怎么办 淘宝拍下商品不付款怎么办 淘宝买东西取消订单淘金币怎么办 淘宝淘金币快过期了怎么办 公众号密码忘了怎么办 酷狗直播个入驻粉丝少怎么办 健康证预约显示未接收怎么办 在互惠车贷逾期怎么办 天天中彩票怎么登陆不了怎么办 正宇新商城不能提现怎么办 融e购买完不发货怎么办 婴儿肚子胀气肚脐凸出来怎么办 微信商城买东西被骗了怎么办 拼多多商家不发货怎么办 鞋上的饰品掉了怎么办 饰品上的钻掉了怎么办 dota2饰品被好友礼物怎么办 dota2接收的礼物打不开怎么办 英雄联盟线上被压制怎么办 云联商城的钱怎么办 高顿财经不退款怎么办 拼多多连不上网怎么办 拼多多评分太低怎么办 拼多多限制提现怎么办 手机收不到验证码怎么办 淘宝未发货怎么取消退款怎么办 羊皮的鞋子刮坏怎么办 退货寄错了东西怎么办 毒app上买鞋尺码不合适怎么办 拼多多一直不发货怎么办 天猫国际买东西被税要退货怎么办 国外快递被税了怎么办 手机上传图片时过大怎么办 原网页被重新排版怎么办 文件目录损坏且无法读取怎么办 360木马查杀蓝屏怎么办 电脑上传的文件大小超过限制怎么办