您的位置:首页 > 编程语言 > MATLAB

数字图像处理matlab版第四章

2017-11-27 12:19 295 查看
第四章主要讲述频域处理,滤波都是通过傅里叶变换在频域中实现的。

在频域原点处变换的值称为傅里叶变换的直流分量。

在实际应用中,DFT及其逆变换可以通过使用快速傅里叶变换(FFT)算法来实现。

matlab中函数fft2实现对数组M×N图像数组f的傅里叶变换,F=fft2(f)。

傅里叶频谱可以使用函数abs来获得:s=abs(F) 该函数计算数组的每一元素的幅度(实部和虚部平方和的平方根)。

函数ifft2可以计算傅里叶逆变换,该函数的基本语法为f=ifft2(F),ifft2(F,P,Q)。

空间域和频域线性滤波的基础都是卷积定理,该定理可以写为:f(x,y)*h(h,y)=H(u,v)F(u,v),f(x,y)为图像,h(x,y)为滤波掩模。大写后为傅里叶变换后结果。

两个空间函数的卷积可以通过计算两个傅里叶变换函数的乘积的逆变换得到。相反地,两个空间函数的卷积的傅里叶变换恰好等于两个函数的傅里叶变换的乘积。

频域滤波的目的是选择一个滤波器传递函数H(u,v),以便按照指定的方式修改F(u,v)。

衰减F(u,v)的高频分量,而保持低频分量相对不变,具有这种特性的滤波器称为低通滤波器。

空间卷积通常使用较小的掩模来简化,使用这种较小的掩模的目的是尽可频域对应内容的显著特性。

函数paddedisze用于计算满足前述等式的P和Q的最小偶数值,通常处理偶数维数组以加快FFT的计算速度。

DFT滤波的基本步骤,1使用函数paddedsize获得填充参数2得到使用填充的傅里叶变换3生成一个大小为PQ(1)×PQ(2)的滤波函数H4将变换乘以滤波函数5获得G的傅里叶逆变换的实部6将左上部的矩形修剪为原始大小。

有限冲击响应(FIR)滤波器,由线性系统理论可知,在某种适度条件下,输入到线性系统的一个冲击完全可以表征系统。

频域滤波函数dftfilt:g=dftfilt(f,H)

空间滤波器h,频域滤波器H,转换的明显方法是令H=fft2(h,PQ(1),PQ(2)),其中向量PQ的值取决于我们想要对其滤波的图像的大小。

函数freqz2用于计算FIR滤波器的频率响应,如:H=freqz2(h,R,C),其中h是一个二维空间滤波器,H是相应的二维频域滤波器,R为H的行数,C为H的列数。

通过创建一副阈值二值图像,我们可更清楚地看到边缘。

M函数的核心是需要在频率矩形中计算任意点到指定点的距离函数,FFT的计算假设变换的原点在频率矩阵的左上角,数据通过函数fftshift重新排序,以实现可视化(因而原点的值被转换为频率矩形的中心)。

低通频域滤波器:n阶巴特沃兹低通滤波器(BLPF),高斯低通滤波器(GLPF)

函数lpfilter用于生成本节中讨论的所有低通滤波器的传递函数

三维线框图及表面图,这些图形可用于可视化二维滤波器的传递函数。

对于给定的二维函数H,绘制线框图的最简单方法是使用函数mesh,该函数的语法为mesh(H)

函数surf(H)绘制表面图,代替线框图。

低通滤波器使图像变模糊,高通滤波器使图像变清晰。

高通滤波器函数hpfilter。

若偏移量与将滤波器乘以一个大于1的常数结合起来,则这种方法就称为高频强调滤波,因为该常量乘数突出了高频部分。

将高频滤波与直方图均衡化结合起来使用,所得到的结果要好于单独使用任何一种方法所得到的结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: