图像的频域滤波

合集下载

数字图像处理中的频域滤波数学原理探索

数字图像处理中的频域滤波数学原理探索

数字图像处理中的频域滤波数学原理探索数字图像处理是一门涉及图像获取、图像处理和图像分析的学科,其中频域滤波是其中一个重要的技术。

频域滤波通过将图像从空域转换到频域,利用频域的特性对图像进行处理。

本文将探索数字图像处理中的频域滤波的数学原理。

一、傅里叶变换傅里叶变换是频域滤波的基础,它将一个函数表示为正弦和余弦函数的和。

对于一维信号,傅里叶变换可以表示为以下公式:F(u) = ∫[f(x)e^(-i2πux)]dx其中F(u)表示信号f(x)在频率域的表示,u表示频率,x表示空间位置。

对于二维图像,傅里叶变换可以表示为以下公式:F(u,v) = ∬[f(x,y)e^(-i2π(ux+vy))]dxdy其中F(u,v)表示图像f(x,y)在频率域的表示,u和v表示频率,x和y表示图像的空间位置。

二、频域滤波在频域中,对图像进行滤波意味着对图像的频率分量进行操作。

常见的频域滤波操作包括低通滤波和高通滤波。

1. 低通滤波低通滤波器允许通过低频分量,并抑制高频分量。

在图像中,低频分量通常表示图像的平滑部分,而高频分量则表示图像的细节部分。

低通滤波器可以用于去除图像中的噪声和细节,使图像变得更加平滑。

2. 高通滤波高通滤波器允许通过高频分量,并抑制低频分量。

在图像中,高频分量通常表示图像的边缘和纹理部分,而低频分量则表示图像的整体亮度分布。

高通滤波器可以用于增强图像的边缘和纹理特征。

三、频域滤波的步骤频域滤波的一般步骤包括图像的傅里叶变换、滤波器的设计、滤波器与图像的乘积、逆傅里叶变换。

1. 图像的傅里叶变换首先,将原始图像转换为频域表示。

通过对图像进行傅里叶变换,可以得到图像在频率域中的表示。

2. 滤波器的设计根据需要进行滤波器的设计。

滤波器可以是低通滤波器或高通滤波器,具体设计方法可以根据应用需求选择。

3. 滤波器与图像的乘积将滤波器与图像在频域中的表示进行乘积操作。

乘积的结果是滤波后的频域图像。

4. 逆傅里叶变换对滤波后的频域图像进行逆傅里叶变换,将其转换回空域表示。

频域滤波的基本原理

频域滤波的基本原理

频域滤波的基本原理频域滤波的基本原理频域滤波是一种信号处理技术,它根据信号的频率特征对信号进行处理,从而达到去噪、滤波等目的。

频域滤波的基本原理就是将时域中的信号转化为频域中的信号,利用频域中的特征进行处理,最后再将处理后的信号转回时域。

一、时域和频域时域和频域是信号处理中常用的两个概念。

时域是指信号随时间变化的情况,它通常用时域波形来表示。

例如,我们平常看到的声音、图像等都是时域信号。

频域是指信号在频率上的特征,与时域不同,它通常用其频谱图表示。

频谱图是一种表示信号频率分布情况的图形,它能够显示信号中存在的各种频率成分。

例如,下图分别是一个声音信号的时域波形和频谱图:![时域波形和频谱图示例]( "时域波形和频谱图示例.png")二、傅里叶变换频域处理的基础是傅里叶变换。

傅里叶变换是一种将时域信号转换为频域信号的方法,它可以将任意周期的连续信号分解成一系列正弦和余弦函数的和。

傅里叶变换的基本形式为:F_freq(x) = ∫_{-∞}^∞f_time(t)e^{-2πif t}dt其中,f_{time}是时域信号,F_{freq}是频域信号,i表示虚数单位。

需要注意的是,傅里叶变换通常是定义在连续信号上的,在实际应用中,离散信号也常常需要进行傅里叶变换,这时候可以使用离散傅里叶变换(DFT)。

三、频域滤波的基本原理频域滤波是指利用傅里叶变换将信号从时域转换到频域,然后在频域中对信号进行滤波,最后再将信号从频域转回时域的一种信号处理方法。

在频域中,我们可以通过观察信号的频谱图来判断信号中是否存在噪声或需要滤除的部分。

例如,下图中的频谱图显示了一个信号中存在高频噪声:![高频噪声示例]( "高频噪声示例.png")为了去除这种噪声,我们可以在频域中将高频的部分过滤掉,实现去噪的效果。

具体而言,频域滤波通常包括以下几个步骤:1. 将时域信号x(t)进行傅里叶变换,得到频域信号X(f);2. 在频域中对X(f)进行滤波处理,得到滤波后的频域信号Y(f),过滤方式包括低通、高通、带通滤波等;3. 将Y(f)进行傅里叶反变换,得到处理后的时域信号。

实验四 图像频域高通滤波

实验四   图像频域高通滤波

数字图像处理实验报告姓名:田蕾 学号:20091202098 专业:信号与信息处理 年级:09实验四 图像频域高通滤波一、 实验目的掌握常用频域高通滤波器的设计。

进一步加深理解和掌握图像频谱的特点和频域高通滤波的原理。

理解图象高通滤波的处理过程和特点。

二、 实验内容设计程序,分别实现截止频率半径分别为15、30、80理想高通滤波器、二阶巴特沃斯高通滤波器、二阶高斯高通滤波器对图像的滤波处理。

观察处理前后图像效果,分析实验结果和算法特点。

三、 实验原理二维理想高通滤波器的传递函数为:000.(,)(,) 1.(,)D u v D H u v D u v D ≤⎧=⎨>⎩D0是从频率矩形中点测得的截止频率长度,它将以D0为半径的圆周内的所有频率置零,而毫不衰减地通过圆周外的任何频率。

但其物理上是不可实现的。

巴特沃斯高通滤波器的传递函数为:201(,)1[](,)n H u v D D u v =+ 式中D0为截止频率距远点距离。

与低通滤波器的情况一样,可认为巴特沃斯高通型滤波器比IHPF 更平滑。

高斯高通滤波器传递函数为:220(,)/2(,)1D u v D H u v e -=- 高通滤波器能够用高斯型低通滤波器的差构成。

这些不同的滤波器有更多的参数,因此能够对滤波器的形状进行更多的控制。

四、算法设计(含程序设计流程图)五、实验结果及分析(需要给出原始图像和处理后的图像)实验结果分析:(1)理想的高通滤波器把半径为D0的圆内的所有频率完全衰减掉,却使圆外的所有的频率无损的通过。

图像整体变得模糊,边缘和细节比较清晰。

(2)巴特沃思高通滤波器和高斯高通滤波器处理后的图像中只显现边缘,边缘的强度不同,而灰度平滑的区域都变暗了。

附:程序源代码(1)理想高通滤波器:(以D0=15为例):I1=imread('D:\Matlab\project\低通、高通滤波实验原图.jpg');figure(1); imshow(I1);title('原图');>> f=double(I1); % 转换数据为双精度型g=fft2(f); % 进行二维傅里叶变换g=fftshift(g); % 把快速傅里叶变换的DC组件移到光谱中心[M,N]=size(g);d0=15; %cutoff frequency以15为例m=fix(M/2); n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);if(d<=d0)h=0;else h=1;endresult(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));figure(2);imshow(J2);title('IHPF滤波(d0=15)') ;(2)巴特沃斯高通滤波器:(以D0=15为例):I1=imread('D:\Matlab\project\低通、高通滤波实验原图.jpg');figure(1); imshow(I1);title('原图');f=double(I1);g=fft2(f);g=fftshift(g);[M,N]=size(g);nn=2; % 2-grade Butterworth highpass filterd0=15; % 15,30,80其中以15为例m=fix(M/2); n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn)); % filter transform function%h=1./(1+(d./d0).^(2*n))%h=exp(-(d.^2)./(2*(d0^2)));result(i,j)=(1-h)*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));figure(2);imshow(J2);title('BHPF滤波(d0=15)');(3)高斯高通滤波器:(以D0=15为例):I1=imread('D:\Matlab\project\低通、高通滤波实验原图.jpg'); figure(1); imshow(I1);title('原图');f=double(I1);g=fft2(f);g=fftshift(g);[M,N]=size(g);d0=15;m=fix(M/2); n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=exp(-(d.^2)./(2*(d0^2))); % gaussian filter transformresult(i,j)=(1-h)*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));>> figure(2);>> imshow(J2);title('GHPF滤波(d0=15)');。

透射电镜高分辨频域滤波优化

透射电镜高分辨频域滤波优化

透射电镜高分辨频域滤波优化透射电镜高分辨频域滤波优化透射电镜高分辨频域滤波优化是一种常用的方法,用于提高透射电子显微镜(TEM)图像的分辨率。

在本文中,我们将逐步讨论如何进行这样的优化。

第一步是获取TEM图像。

首先,我们需要将待观察的样品放置在透射电镜中。

样品通常是非晶态或晶态的材料,它们会散射电子束。

这些散射的电子束将通过透射电子显微镜的透镜系统,最终形成图像。

第二步是进行图像的预处理。

在进行高分辨率滤波之前,通常需要对图像进行一些预处理操作,以去除噪音和伪影。

这可以通过应用空间域滤波器,如中值滤波器或高斯滤波器来实现。

接下来,我们将进入关键的步骤,即高分辨滤波。

高分辨率滤波是通过在频域中操作图像来实现的。

首先,我们需要进行傅里叶变换,将图像转换到频域。

这可以通过应用二维离散傅里叶变换(DFT)来实现。

DFT将图像从空间域转换到频域,并产生一个复数矩阵,其中每个元素表示不同频率的振幅和相位信息。

在频域中,我们可以应用滤波器来提高图像的分辨率。

常见的滤波器包括高通滤波器和带通滤波器。

高通滤波器有助于增强图像中的高频信息,从而提高图像的细节和分辨率。

带通滤波器允许通过特定的频率范围,从而保留所需的信息并滤除其他频率的干扰。

应用完滤波器后,我们需要进行反傅里叶变换,将图像从频域恢复到空间域。

这可以通过应用二维逆离散傅里叶变换(IDFT)来实现。

IDFT将频域的复数矩阵转换回空间域,并产生最终的滤波图像。

最后一步是对滤波图像进行后处理。

在高分辨滤波之后,我们可能需要对图像进行一些后处理,以进一步优化其质量。

这可能包括去噪、增强对比度或者应用其他图像增强技术。

总结起来,透射电镜高分辨频域滤波优化是一个多步骤的过程。

首先,我们需要获取原始TEM图像,并对其进行预处理。

接下来,我们将图像转换到频域,应用滤波器来提高图像的分辨率,并通过逆傅里叶变换将其恢复到空间域。

最后,我们可以对滤波图像进行后处理以进一步优化其质量。

频域滤波器设计(数字图像处理实验报告)

频域滤波器设计(数字图像处理实验报告)

数字图像处理作业——频域滤波器设计摘要在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。

本文利用matlab软件,采用频域滤波的方式,对图像进行低通和高通滤波处理。

低通滤波是要保留图像中的低频分量而除去高频分量,由于图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或消弱噪声的影响并模糊边缘轮廓;高通滤波是要保留图像中的高频分量而除去低频分量,所以高通滤波可以保留较多的边缘轮廓信息。

本文使用的低通滤波器有巴特沃斯滤波器和高斯滤波器,使用的高通滤波器有巴特沃斯滤波器、高斯滤波器、Laplacian高通滤波器以及Unmask高通滤波器。

实际应用中应该根据实际图像中包含的噪声情况灵活地选取适当的滤波算法。

1、频域低通滤波器:设计低通滤波器包括 butterworth and Gaussian (选择合适的半径,计算功率谱比),平滑测试图像test1和2。

实验原理分析根据卷积定理,两个空间函数的卷积可以通过计算两个傅立叶变换函数的乘积的逆变换得到,如果f(x, y)和h(x, y)分别代表图像与空间滤波器,F(u, v)和H(u, v)分别为响应的傅立叶变换(H(u, v)又称为传递函数),那么我们可以利用卷积定理来进行频域滤波。

在频域空间,图像的信息表现为不同频率分量的组合。

如果能让某个范围内的分量或某些频率的分量受到抑制,而让其他分量不受影响,就可以改变输出图的频率分布,达到不同的增强目的。

频域空间的增强方法的步骤:(1)将图像从图像空间转换到频域空间;(2)在频域空间对图像进行增强;(3)将增强后的图像再从频域空间转换到图像空间。

低通滤波是要保留图像中的低频分量而除去高频分量。

图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或消弱噪声的影响并模糊边缘轮廓。

理想低通滤波器具有传递函数:其中D0为制定的非负数,D(u,v)为点(u,v)到滤波器中心的距离。

频域滤波原理

频域滤波原理

cut-off=14, power=99.85%
cut-off=12, power=99.84%
cut-off=10, power=99.82%
用不同的功率百分比恢复的水田图像 Paddy (泗洪)
3 遥感图像的增强处理:3.3 频域滤波
power=100% cut-off=40, power=99.98% cut-off=38, power=99.98% cut-off=36, power=99.98% cut-off=34, power=99.98%
cut-off=49, power=99.18%
cut-off=45, power=99.04%
cut-off=41, power=98.88%
cut-off=37, power=98.67%
cut-off=33, power=98.41%
cut-off=29, power=98.06%
cut-off=25, power=97.6
Smoothing with a Gaussian
3 遥感图像的增强处理:3.3 频域滤波
The Gaussian pyramid
3 遥感图像的增强处理:3.3 频域滤波
Character recognition
using a GLPF with D0 80
• Although humans fill these gaps visually without difficulty, • A machine recognition system has real difficulties reading broken characters.
3 遥感图像的增强处理:3.3 频域滤波
the average value of the resulting image will be zero make prominent edges stand out pixels which have negative values will be produced

空域滤波和频域滤波的关系

空域滤波和频域滤波的关系

空域滤波和频域滤波的关系空域滤波是指对图像的像素进行直接操作,通过改变像素的数值来达到滤波的目的。

常见的空域滤波方法包括均值滤波、中值滤波和高斯滤波等。

这些方法主要是通过对像素周围的邻域进行计算,然后用计算结果替代中心像素的值,从而达到平滑图像、去噪或者增强图像细节等效果。

空域滤波是一种直观简单的滤波方法,易于理解和实现。

频域滤波则是将图像从空域转换到频域进行滤波处理。

频域滤波基于图像的频谱特性,通过对图像的频率分量进行调整来实现滤波效果。

频域滤波的基本原理是将图像进行傅里叶变换,将图像从空间域转换到频率域,然后在频率域对图像进行滤波处理,最后再将图像进行傅里叶反变换,将图像从频率域转换回空间域。

常见的频域滤波方法包括低通滤波、高通滤波和带通滤波等。

频域滤波可以有效地去除图像中的噪声、增强图像的细节和边缘等。

空域滤波和频域滤波是两种不同的滤波方法,它们在滤波原理和实现方式上存在一定的差异。

空域滤波是直接对图像像素进行操作,易于理解和实现,但在处理复杂图像时会存在一定的局限性。

频域滤波则是将图像转换到频率域进行处理,可以更加灵活地调整图像的频率特性,适用于处理复杂图像和去除特定频率的噪声。

虽然空域滤波和频域滤波有着不同的原理和实现方式,但它们之间并不是相互独立的。

事实上,这两种滤波方法是可以相互转换和组合的。

在一些实际应用中,我们可以将频域滤波和空域滤波结合起来,通过先对图像进行傅里叶变换,然后在频率域对图像进行滤波处理,最后再将图像进行傅里叶反变换,将图像从频率域转换回空间域。

这种组合使用的方法可以充分发挥两种滤波方法的优势,既可以处理复杂图像,又能够简化计算和提高效率。

空域滤波和频域滤波是数字图像处理中常用的滤波方法。

空域滤波直接对图像像素进行操作,简单直观;频域滤波则是将图像转换到频率域进行处理,更加灵活精确。

虽然它们有着不同的原理和实现方式,但可以相互转换和组合使用,以提高图像处理的效果和质量。

数字图像处理-频域滤波-高通低通滤波

数字图像处理-频域滤波-高通低通滤波

数字图像处理-频域滤波-⾼通低通滤波频域滤波频域滤波是在频率域对图像做处理的⼀种⽅法。

步骤如下:滤波器⼤⼩和频谱⼤⼩相同,相乘即可得到新的频谱。

滤波后结果显⽰,低通滤波去掉了⾼频信息,即细节信息,留下的低频信息代表了概貌。

常⽤的例⼦,⽐如美图秀秀的磨⽪,去掉了脸部细节信息(痘坑,痘印,暗斑等)。

⾼通滤波则相反。

⾼通/低通滤波1.理想的⾼/低通滤波顾名思义,⾼通滤波器为:让⾼频信息通过,过滤低频信息;低通滤波相反。

理想的低通滤波器模板为:其中,D0表⽰通带半径,D(u,v)是到频谱中⼼的距离(欧式距离),计算公式如下:M和N表⽰频谱图像的⼤⼩,(M/2,N/2)即为频谱中⼼理想的⾼通滤波器与此相反,1减去低通滤波模板即可。

部分代码:# 定义函数,显⽰滤波器模板def showTemplate(template):temp = np.uint8(template*255)cv2.imshow('Template', temp)return# 定义函数,显⽰滤波函数def showFunction(template):row, col = template.shaperow = np.uint16(row/2)col = np.uint16(col/2)y = template[row, col:]x = np.arange(len(y))plt.plot(x, y, 'b-', linewidth=2)plt.axis([0, len(x), -0.2, 1.2])plt.show()return# 定义函数,理想的低通/⾼通滤波模板def Ideal(src, d0, ftype):template = np.zeros(src.shape, dtype=np.float32) # 构建滤波器 r, c = src.shapefor i in range(r):for j in range(c):distance = np.sqrt((i - r/2)**2 + (j - c/2)**2)if distance < d0:template[i, j] = 1else:template[i, j] = 0if ftype == 'high':template = 1 - templatereturn templateIdeal2. Butterworth⾼/低通滤波Butterworth低通滤波器函数为:从函数图上看,更圆滑,⽤幂系数n可以改变滤波器的形状。

图像滤波原理

图像滤波原理

图像滤波原理图像滤波是数字图像处理中常用的一种技术,它可以对图像进行去噪、增强、边缘检测等操作,是图像处理中的重要环节。

图像滤波的原理是利用滤波器对图像进行卷积运算,通过改变像素值来实现对图像的处理。

在图像处理中,滤波器通常是一个矩阵,它可以对图像进行不同程度的平滑或锐化处理。

图像滤波的原理可以分为线性滤波和非线性滤波两种。

线性滤波是指滤波器的响应与图像的像素值之间存在线性关系,常见的线性滤波器有均值滤波、高斯滤波等。

均值滤波是一种简单的线性滤波器,它将图像中每个像素的值替换为其周围像素值的平均值,从而起到平滑图像的作用。

高斯滤波则是利用高斯函数来构造滤波器,对图像进行平滑处理的同时保留图像的细节。

非线性滤波则是指滤波器的响应与图像的像素值之间不存在线性关系,常见的非线性滤波器有中值滤波、最大值滤波、最小值滤波等。

中值滤波是一种常用的非线性滤波器,它将每个像素的值替换为其周围像素值的中值,适用于去除图像中的椒盐噪声等非线性噪声。

图像滤波的原理还涉及到频域滤波和空域滤波两种方法。

频域滤波是指将图像转换到频域进行滤波处理,然后再将处理后的图像转换回空域。

常见的频域滤波包括傅里叶变换、小波变换等。

空域滤波则是直接在图像的空间域进行滤波处理,常见的空域滤波包括均值滤波、中值滤波等。

总的来说,图像滤波的原理就是利用滤波器对图像进行卷积运算,通过改变像素值来实现对图像的处理。

不同的滤波器和滤波方法都有各自的特点和适用场景,选择合适的滤波器和滤波方法对图像进行处理,可以达到去噪、增强、边缘检测等不同的效果。

在实际应用中,需要根据具体的图像处理任务来选择合适的滤波器和滤波方法,以达到最佳的处理效果。

频域滤波增强原理及其基本步骤

频域滤波增强原理及其基本步骤

频域滤波增强原理及其基本步骤1. 引言频域滤波增强是一种常用的图像增强技术,通过将图像从空域转换到频域进行滤波操作,然后再将图像从频域转换回空域,从而改善图像的质量。

本文将详细解释频域滤波增强的原理及其基本步骤。

2. 基本原理频域滤波增强的基本原理是利用图像在频域中的特性来进行图像增强。

在频域中,不同频率的成分对应着不同的图像细节信息。

通过选择性地增强或抑制不同频率成分,可以改变图像的对比度、清晰度和细节。

频域滤波增强主要依赖于傅里叶变换和逆傅里叶变换。

傅里叶变换将一个时域信号转换为其在频域中的表示,逆傅里叶变换则将一个频域信号转换回时域。

3. 常见步骤频域滤波增强通常包括以下几个步骤:步骤1:图像预处理在进行频域滤波增强之前,通常需要对图像进行预处理。

预处理包括去噪、平滑和锐化等操作。

去噪可以使用一些常见的降噪算法,如中值滤波、高斯滤波等。

平滑可以通过低通滤波器实现,用于抑制图像中的高频成分。

锐化可以通过高通滤波器实现,用于增强图像中的细节。

步骤2:傅里叶变换将经过预处理的图像进行傅里叶变换,将其转换为频域表示。

傅里叶变换将图像分解为一系列的正弦和余弦函数,每个函数对应一个特定的频率成分。

在频域中,低频成分对应着图像的整体亮度和颜色信息,而高频成分对应着图像的细节信息。

步骤3:频域滤波在频域中对图像进行滤波操作,选择性地增强或抑制不同频率成分。

常见的频域滤波器包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。

低通滤波器可以保留图像中的低频成分,抑制高频成分,用于平滑图像。

高通滤波器可以抑制低频成分,增强高频细节,用于锐化图像。

步骤4:逆傅里叶变换将经过滤波操作的频域图像进行逆傅里叶变换,将其转换回时域表示。

逆傅里叶变换将频域信号重建为原始的时域信号。

通过逆傅里叶变换,我们可以得到经过频域滤波增强后的图像。

步骤5:后处理对经过逆傅里叶变换得到的图像进行后处理,包括亮度调整、对比度增强和锐化等操作。

频域空间滤波在图像处理中的应用

频域空间滤波在图像处理中的应用

频域空间滤波在图像处理中的应用图像处理是一项越来越重要的技术,它涉及到数字图像的获取、处理、分析和储存等方面。

在处理数字图像的过程中,频域空间滤波是一种应用最广泛的处理方法。

频域空间滤波是基于傅里叶变换的处理方法,可以对图像进行高效的处理和分析。

1. 傅里叶变换傅里叶变换是一种数学方法,可以将一个时域信号分解成为一系列复指数的加权和。

对于一个n点的离散信号,可以通过离散傅里叶变换转换为频域的n个复系数。

在图像处理中,我们常常使用二维离散傅里叶变换,将二维图像转换为频域的复系数。

2. 频域空间滤波频域空间滤波是一种在频域上对图像进行处理的方法,它通常包括四个步骤:首先进行离散二维傅里叶变换;然后进行频域滤波;接着再进行傅里叶反变换;最后得到滤波后的图像。

频域滤波包括低通滤波和高通滤波。

低通滤波可以通过去除高频信号来平滑图像的轮廓和细节,比较适用于图像去噪和模糊处理。

高通滤波则可以通过去除低频信号来增强图像的边缘和细节,比较适用于图像锐化和轮廓检测。

3. 应用实例频域空间滤波在图像处理中有着广泛的应用,下面就几个具体的实例进行介绍。

(1) 图像去噪图像中常常受到噪声的干扰,这时候就需要使用频域低通滤波进行去噪。

低通滤波可以去除高频成分,从而平滑图像。

下面是一张被椒盐噪声污染的图像,使用频域低通滤波去噪后的效果如下:(2) 图像锐化在图像处理中,有时需要增强图像的边缘和细节,可以使用高通滤波进行锐化。

高通滤波可以去除低频成分,从而增强高频信号。

下面是一张需要进行锐化处理的图像,使用频域高通滤波锐化后的效果如下:(3) 图像模糊有时候需要对图像进行模糊处理,这时候可以使用频域低通滤波进行模糊。

下面是一张需要进行模糊处理的图像,使用频域低通滤波模糊后的效果如下:总结频域空间滤波是一种在频域上对图像进行处理的方法,可以通过傅里叶变换将图像转换为频域的复系数,在频域上进行低通滤波和高通滤波处理后再通过傅里叶反变换得到处理后的图像。

频率域滤波的基本步骤

频率域滤波的基本步骤

频率域滤波的基本步骤频率域滤波是一种图像处理方法,其基本原理是将图像从像素域转换到频率域进行滤波处理,然后再将图像转换回像素域。

该方法常用于图像增强、图像去噪和图像复原等领域。

下面是频率域滤波的基本步骤和相关参考内容的详细介绍。

1. 图像的傅里叶变换:频率域处理首先需要对图像进行傅里叶变换,将图像从时域转化为频域。

傅里叶变换可以用来分析图像中不同频率的成分。

常见的图像傅里叶变换算法有快速傅里叶变换(FFT)和离散傅里叶变换(DFT)。

参考内容:- 数字图像处理(第四版)- 冈萨雷斯,伍兹,展学良(译)【书籍】- 数字媒体技术基础与应用(第二版) - 楼书记【书籍】2. 频率域滤波:在频率域进行滤波可以有效地去除图像中的噪声和干扰,增强图像的边缘和细节。

常见的频率域滤波方法包括低通滤波和高通滤波。

- 低通滤波器:能通过低于某个截止频率的信号成分,而阻断高于该截止频率的信号成分。

常用的低通滤波器有理想低通滤波器、布特沃斯低通滤波器和高斯低通滤波器。

- 高通滤波器:能通过高于某个截止频率的信号成分,而阻断低于该截止频率的信号成分。

常用的高通滤波器有理想高通滤波器、布特沃斯高通滤波器和导向滤波器。

参考内容:- 数字图像处理(第四版)- 冈萨雷斯,伍兹,展学良(译)【书籍】- Python图像处理实战【书籍】3. 反傅里叶变换:经过频率域滤波处理后,需要将图像从频域转换回时域。

这一过程利用反傅里叶变换来实现,通过傅里叶逆变换可以将频域图像转化为空域图像。

参考内容:- 数字图像处理(第四版)- 冈萨雷斯,伍兹,展学良(译)【书籍】- 数字媒体技术基础与应用(第二版) - 楼书记【书籍】4. 图像的逆滤波(可选):在某些情况下,可以使用逆滤波来进行图像复原。

逆滤波是频率域滤波的一种特殊形式,用于恢复被模糊处理的图像。

然而逆滤波对于噪声敏感,容易引入伪影。

因此在实际应用中,通常会结合其他技术来优化逆滤波的效果。

图像处理分析-FFT

图像处理分析-FFT

cvReleaseMat( &src_lm);cvReleaseMat (& sum_src);cvReleaseMat (& sum_dst);return fourier;}〃DFT反变换Ipllmage *IDFT(lpllmage * fourier){IplImage* dst = cvCreatelmage(cvGetSize(fourier),IPL_DEPTH_8U,1);int dft_H, dft_W;dft_H = fourier->height;dft_W = fourier->width;CvMat *dst_Re = cvCreateMat(dft_H,dft_W, CV_64FC1); // double Re, Im;CvMat *dst_lm = cvCreateMat(dft_H,dft_W, CV_64FC1); //Imagin ary partCvMat *sum_dst =cvCreateMat(dft_H,dft_W, CV_64FC2); //2 chann els (dst_Re, dst_lm) CvMat *sum_src = cvCreateMat(dft_H,dft_W, CV_64FC2 );cvCon vert(fourier, sum_src);cvDFT(sum_src,sum_dst,CV_DXT_INV_SCALE,O);cvSplit(sum_dst,dst_Re,dst_lm,O,O);cvCo nvert(dst_Re, dst);cvReleaseMat( &dst_Re);cvReleaseMat (& dst_lm);cvReleaseMat (& sum_src);cvReleaseMat (& sum_dst);return dst;}//归一化,将灰度映射到0~255之间,并将能量最高的四角移到中心,生成图片频域能量图void BuildDFTImage(IplImage *fourier, Ipllmage *dst){Ipllmage *image_Re = 0, *image_lm = 0;image_Re = cvCreatelmage(cvGetSize(fourier), IPL_DEPTH_64F, 1);image_lm = cvCreatelmage(cvGetSize(fourier), IPL_DEPTH_64F, 1); //Imagi nary part cvSplit(fourier, image_Re, image_lm, 0, 0 );// Compute the magn itude of the spectrum Mag = sqrt(Re A2 + Im A2)cvPow( image_Re, image_Re, 2.0);cvPow( image_lm, image_lm, 2.0);cvAdd( image_Re, image_lm, image_Re);cvPow( image_Re, image_Re, 0.5 );cvReleaseImage(&im age」m);cvAddS(image_Re, cvScalar(1.0), image_Re); // 1 + MagcvLog(image_Re, image_Re ); // log(1 + Mag)〃重新安排傅里叶图像中心// Rearrange the quadrants of Fourier image so that the origin is at// the image cen terdouble minVal = 0, maxVal = 0;H_mat = cvCreateMat(fourier->height,fourier->width, CV_64FC2);for(i = 0; i < height; i++){for(j = 0; j < width; j++){ if(i > y &&j > x){ state = 3;}else if(i > y){state = 1;}else if(j > x){state = 2;}else{state = 0;} switch(state){ case 0:tempD = (double)sqrt(1.0*i * i + j * j);break;case 1:tempD = (double)sqrt(1.0*(height - i) * (height - i) + j * j);break;case 2:tempD = (double)sqrt(1.0*i * i + (width - j) * (width - j));break;case 3:tempD = (double)sqrt(1.0*(height - i) * (height - i) + (width - j) * (width - j));break; default:break;} switch(FLAG){case IDEAL_LOW: if(tempD <= D0){((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2] = 1.0; ((double*)(H_mat->data.ptr+ H_mat->step * i))[j * 2 + 1] = 0.0;}else{((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2] = 0.0; ((double*)(H_mat->data.ptr+ H_mat->step * i))[j * 2 + 1] = 0.0;} break;case IDEAL_HIGH: if(tempD <= D0){ ((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2] = 0.0;((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2 + 1] = 0.0;}else{((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2] = 1.0; ((double*)(H_mat->data.ptr+ H_mat->step * i))[j * 2 + 1] = 0.0;} break;case BW_LOW:tempD = 1 / (1 + pow(tempD / D0, 2 * n));((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2] = tempD; ((double*)(H_mat->data.ptr +H_mat->step * i))[j * 2 + 1] = 0.0; break;问题:DFT 变换后图像全为黑色。

频域信号处理技术在图像处理中的应用

频域信号处理技术在图像处理中的应用

频域信号处理技术在图像处理中的应用频域信号处理技术是信号处理中常用的一种技术,它是将信号从时域转换到频域中,通过分析频域中的特征,对信号进行处理和改变。

频域信号处理技术在图像处理中具有广泛的应用,它可以通过对图像进行频域变换,分析图片中的频域信息并进行处理,从而达到图像处理的目的。

本文将从不同的角度分析频域信号处理技术在图像处理中的应用。

一、图像滤波图像滤波是一种常见的图像预处理技术,它通过对图像进行去噪、增强等处理,改善图像质量。

频域滤波是一种有效的图像滤波方法,它在频率域中通过对图像进行低通、高通或带通滤波,可以有效地去除图像中的噪声、增强图像的边缘、纹理等特征。

常用的频域滤波方法包括快速傅里叶变换滤波、小波变换滤波等。

快速傅里叶变换滤波(FFT)是一种广泛应用的频域滤波方法,它通过将图像转换到频域中,利用傅里叶变换的性质实现对图像的滤波。

其中,低通滤波可以实现图像的模糊处理,过滤高频噪声;高通滤波可以增强图像边缘特征,突出图像的细节信息;带通滤波则可以去除图像中噪声等不需要的信号。

通过快速傅里叶变换的频率分析,可以更加准确地分析图像的特征,实现对图像的有效处理。

二、图像压缩图像压缩是一种常用的图像处理方法,它通过减少图像中的冗余信息,实现对图像的压缩,从而减少存储空间和传输成本。

频域信号处理技术在图像压缩中具有重要的应用,它可以通过频域变换实现对图像信号的去相关、余弦变换等操作,从而实现对图像的压缩。

在频域图片压缩中,将图像转换到频域中,并对频域信息进行压缩是一种有效的方法。

其中,离散余弦变换(DCT)是一种常用的频域变换方法,它可以将图像从时域变换到频域中,实现对频域信息的分析和处理。

三、图像分割图像分割是将一副图像分割成多个具有相似性质的区域的过程,它是图像处理中重要的技术之一。

频域信号处理技术在图像分割中也具有重要的应用,它可以通过对图像的频域信息进行分析,实现对图像的分割。

在图像分割中,频域滤波和频域边缘检测是常用的方法。

卷积与空间域滤波、频(率)域滤波之间的关系。

卷积与空间域滤波、频(率)域滤波之间的关系。

卷积与空间域滤波、频(率)域滤波之间的关系。

卷积与空间域滤波、频(率)域滤波之间有密切的关系。

在信号处理和图像处理中,卷积是一种基本的数学运算,用于将一个函数与另一个函数相乘,并在某个维度上滑动第二个函数。

在图像处理中,卷积用于对图像进行滤波、模糊、锐化等操作。

空间域滤波和频域滤波是两种常见的图像处理方法,它们都可以与卷积结合使用。

空间域滤波直接在图像的像素上进行操作,而频域滤波则通过将图像转换到频率域进行处理,然后再转换回空间域。

卷积在空间域滤波中的应用通常涉及使用一个滤波器(也称为卷积核或掩模)对图像进行卷积操作。

这个滤波器定义了一组权重,用于对图像的像素进行加权求和。

通过选择不同的滤波器,可以实现不同的空间域滤波效果,例如平滑、锐化、边缘检测等。

同样地,卷积也可以在频域滤波中应用。

在频域滤波中,图像首先通过傅里叶变换转换为频率域表示。

然后,使用一个滤波器对频率域的图像进行操作,该滤波器同样定义了一组权重。

常见的频域滤波器包括低通滤波器、高通滤波器和带通滤波器等。

通过选择不同的滤波器,可以实现不同的频域滤波效果,例如去除噪声、增强边缘等。

需要注意的是,卷积在空间域和频域中的操作是有区别的。

在空间域中,卷积操作是直接在像素位置上进行的,因此可以直接观察到像素值的改变。

而在频域中,卷积操作是在频率域的表示上进行,因此需要对结果进行逆傅里叶变换才能转换回空间域以观察处理效果。

综上所述,卷积可以用于实现空间域滤波和频域滤波,并且它们之间存在密切的关系。

在实际应用中,根据具体需求选择适合的方法进行处理。

7.图像增强—频域滤波 - 数字图像处理实验报告

7.图像增强—频域滤波 - 数字图像处理实验报告

计算机与信息工程学院验证性实验报告一、实验目的1.掌握怎样利用傅立叶变换进行频域滤波 2.掌握频域滤波的概念及方法 3.熟练掌握频域空间的各类滤波器 4.利用MATLAB 程序进行频域滤波二、实验原理及知识点频域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和高通滤波器。

频域低通过滤的基本思想:G (u,v )=F (u,v )H (u,v )F (u,v )是需要钝化图像的傅立叶变换形式,H (u,v )是选取的一个低通过滤器变换函数,G (u,v )是通过H (u,v )减少F (u,v )的高频部分来得到的结果,运用傅立叶逆变换得到钝化后的图像。

理想地通滤波器(ILPF)具有传递函数:01(,)(,)0(,)ifD u v D H u v ifD u v D ≤⎧=⎨>⎩其中,0D 为指定的非负数,(,)D u v 为(u,v )到滤波器的中心的距离。

0(,)D u v D =的点的轨迹为一个圆。

n 阶巴特沃兹低通滤波器(BLPF)(在距离原点0D 处出现截至频率)的传递函数为201(,)1[(,)]nH u v D u v D =+与理想地通滤波器不同的是,巴特沃兹率通滤波器的传递函数并不是在0D 处突然不连续。

高斯低通滤波器(GLPF)的传递函数为222),(),(σv u D ev u H =其中,σ为标准差。

相应的高通滤波器也包括:理想高通滤波器、n 阶巴特沃兹高通滤波器、高斯高通滤波器。

给定一个低通滤波器的传递函数(,)lp H u v ,通过使用如下的简单关系,可以获得相应高通滤波器的传递函数:1(,)hp lp H H u v =-利用MATLAB 实现频域滤波的程序f=imread('room.tif');F=fft2(f); %对图像进行傅立叶变换%对变换后图像进行队数变化,并对其坐标平移,使其中心化 S=fftshift(log(1+abs(F)));S=gscale(S); %将频谱图像标度在0-256的范围内 imshow(S) %显示频谱图像h=fspecial('sobel'); %产生空间‘sobel’模版 freqz2(h) %查看相应频域滤波器的图像 PQ=paddedsize(size(f)); %产生滤波时所需大小的矩阵 H=freqz2(h,PQ(1),PQ(2)); %产生频域中的‘sobel’滤波器H1=ifftshift(H); %重排数据序列,使得原点位于频率矩阵的左上角 imshow(abs(H),[]) %以图形形式显示滤波器 figure,imshow(abs(H1),[])gs=imfilter(double(f),h); %用模版h 进行空域滤波gf=dftfilt(f,H1); %用滤波器对图像进行频域滤波 figure,imshow(gs,[]) figure,imshow(gf,[])figure,imshow(abs(gs),[]) figure,imshow(abs(gf),[])f=imread('number.tif'); %读取图片PQ=paddedsize(size(f)); %产生滤波时所需大小的矩阵 D0=0.05*PQ(1); %设定高斯高通滤波器的阈值H=hpfilter('gaussian',PQ(1),PQ(2),D0); %产生高斯高通滤波器 g=dftfilt(f,H); %对图像进行滤波 figure,imshow(f) %显示原图像figure,imshow(g,[]) %显示滤波后图像三、实验步骤:1.调入并显示所需的图片;2.利用MATLAB 提供的低通滤波器实现图像信号的滤波运算,并与空间滤波进行比较。

opencv 频域滤波速度 概述及解释说明

opencv 频域滤波速度 概述及解释说明

opencv 频域滤波速度概述及解释说明1. 引言1.1 概述在数字图像处理中,频域滤波是一种常用的技术,广泛应用于图像增强、噪声去除等领域。

通过将图像转换到频域进行处理,可以更好地捕捉和分析图像中的频率信息,从而实现对图像的改善。

本篇文章旨在介绍opencv中的频域滤波算法以及相关的优化技术,以加快处理速度,并提供了一个完整的概述和解释说明。

1.2 文章结构本文共分为五个主要部分:引言、频域滤波概述、opencv中的频域滤波算法、频域滤波速度提升技术和结论。

首先,在引言部分,我们将对本文内容进行简要介绍和概述。

然后,在第二部分中,我们将详细介绍频域滤波的基本原理、常见方法以及在图像处理中的应用。

接下来,在第三部分中,我们将着重介绍opencv 中的FFT算法及其实现方式,并探讨其他常用频域滤波算法在opencv中的应用情况。

随后,在第四部分中,我们将详细讨论一些有效提高频域滤波速度的技术,包括并行化计算、图像尺寸对速度的影响以及选取合适的滤波单元大小。

最后,在第五部分中,我们将总结全文,并对未来的研究方向进行展望。

1.3 目的本文的目的是为读者提供关于opencv中频域滤波速度优化方面的全面了解。

通过介绍基本原理和常见方法,读者将能够掌握频域滤波在图像处理中的应用场景和作用机制。

然后,我们会详细介绍opencv中FFT算法及其实现方式,并探讨其他常用频域滤波算法在opencv中的应用情况。

进一步地,我们将提供一些有效提高频域滤波速度的技术,如并行计算、图像尺寸对速度的影响和选取合适的滤波单元大小等。

通过阅读本文,读者将了解到如何使用opencv进行频域滤波,并能够利用相关技术提高处理速度。

2. 频域滤波概述:2.1 频域滤波基本原理频域滤波是一种在图像处理中广泛应用的技术,它通过将图像转换到频域进行处理,然后再将其转换回空间域。

频域滤波基于信号处理中的傅里叶变换理论,傅里叶变换可以将一个函数表示为多个不同频率的正弦和余弦函数之和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六:图像的频域滤波姓名:朱永祥学号20171170238 得分:一、实验目的:1、掌握傅立叶变换及逆变换的基本原理方法。

2、理解频域滤波的基本原理及方法。

3、掌握进行图像的频域滤波的方法。

二、实验内容与要求:1、傅立叶变换(1)读出woman.tif这幅图像,对其进行快速傅立叶变换,分别显示其幅度图像和相位图像。

仅对相位部分进行傅立叶反变换后查看结果图像。

(2)仅对幅度部分进行傅立叶反变换后查看结果图像。

(3)将图像的傅立叶变换F置为其共轭后进行反变换,比较新生成图像与原始图像的差异。

2、平滑频域滤波(1)设计理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器,截至频率自选,分别给出各种滤波器的透视图。

(2)读出test_pattern.tif这幅图像,分别采用理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同低通滤波器得到的图像与原图像的区别,特别注意振铃效应。

(提示:1)在频率域滤波同样要注意到填充问题;2)注意到(-1)x+y;)3、锐化频域滤波(1)设计理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器,截至频率自选,分别给出各种滤波器的透视图。

(2)读出test_pattern.tif这幅图像,分别采用理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同高通滤波器得到的图像与原图像的区别。

三、实验代码及结果:1、(1)a、实验代码:>> img=imread('C:\Users\xxdn\Desktop\图片1.png');>> img=rgb2gray(img);>> f1=fft2(img);>> f2=log(1+abs(f1));>> f3=fftshift(f1);>> f4=angle(f1);>>figure,subplot(1,3,1),imshow(img),title('Original Image'); subplot(1,3,2),imshow(log(1+abs(f3)),[]),title('amplitude spectrum'); subplot(1,3,3),imshow(f4),title('phase spectrum');>> i=sqrt(-1);>> f5=ifft(exp(i*angle(f1)));>> imshow(real(f5),[]);>> imshow(real(f5),[]),title('Phasw-based Restoration Image');B、实验结果:(2)a、实验代码:>> f=ifft2(abs(f1));>> imshow(log(1+abs(f)),[]),title('absamplitude spectrum');b、实验结果:(3)a、实验代码:>> f6=conj(f1);>> f7=ifft2(f6);>> imshow(f7,[]),title('inverse fourier transform');b、实验结果:2、(1)a、实验代码:>> %%%%%%%%%%%%%%%%%%%理想低通滤波器的透视图%%%%%>> a=100;>> b=100;>> U=0:a;>> V=0:b;>> M=length(U);N=length(V);>> D0=10;>> x1=50;y1=50;>> x0=-50;y0=-50;>> m=fix(M/2); n=fix(N/2);>> H=zeros(M,N);>> n=2;>> for u=1:Mfor v=1:Na=sqrt((U(u) - 50) .* (U(u)-50) + (V(v) - 50) .* (V(v) - 50));if(a<=D0)%理想滤波器H(u,v)=1;elseH(u,v)=0;endendend>>surf(U,V,H),title('理想低通滤波透视图') ;>> %%%%%%%%%%%%2 阶巴特沃斯低通滤波透视图%%%%%%%%%%%%%%%%55>> a=100;>> b=100;>> U=0:a;>> V=0:b;>> M=length(U);N=length(V);>> D0=10;>> x1=50;>> y1=50;>> x0=-50;>> y0=-50;>> m=fix(M/2);>> n=fix(N/2);>> H=zeros(M,N);>> n=2;>> for u=1:Mfor v=1:Na=sqrt((U(u) - 50) .* (U(u)-50) + (V(v) - 50) .* (V(v) - 50));b=1+(a/D0)^2*n;H(u,v)=1/b;endend>>surf(U,V,H),title('n=2 Butterworth lowess filter');>> %%%%%%%%%%%%%%%%%%%%%%高斯低通滤波%%%%%%%%%%%%%%%%%%%%%>> a=100;>> b=100;>> U=0:a;>> V=0:b;>> M=length(U);N=length(V);>> D0=10;>> x1=50;>> y1=50;>> x0=-50;>> y0=-50;>> m=fix(M/2);>> n=fix(N/2);>> H=zeros(M,N);>> for u=1:Mfor v=1:ND1=((u-m-x0)^2+(v-n-y0).^2)^0.5;D2=((u-m+x0)^2+(v-n+y0).^2)^0.5;D11=((u-m-x1)^2+(v-n-y1).^2)^0.5;D21=((u-m+x1)^2+(v-n+y1).^2)^0.5;H(u,v) = (U(u) - 50) .* (U(u)-50) + (V(v) - 50) .* (V(v)- 50); endend>> S=50;>> H = -H/(2*S);>> H = exp(H) / (sqrt(2*pi) * sqrt(S));>> surf(U,V,H),title('Gaussian lowess filter');b、实验结果:(2)a、实验代码:%理想低通滤波>> img=imread('C:\Users\xxdn\Desktop\test_pattern.tif'); >> img=rgb2gray(img);>> f=double(img);>> g=fft2(f);>> g=fftshift(g);>> [M,N]=size(g);>> d0=15;>> m=fix(M/2);>> n=fix(N/2);>> for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);if(d<=d0)h=1;elseh=0;endresult(i,j)=h*g(i,j);endend>> result=ifftshift(result);>> J1=ifft2(result);>> J2=uint8(real(J1));>>figure,subplot(1,2,1),imshow(img),title('Original Image'); subplot(1,2,2),imshow(J2),title('d0=15 lowpss filter');>> d0=30;>> m=fix(M/2);>> n=fix(N/2);>> for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);if(d<=d0)h=1;elseh=0;endresult(i,j)=h*g(i,j);endend>> result=ifftshift(result);>> J1=ifft2(result);>> J2=uint8(real(J1));>> imshow(J2),title('d0=30 lowpss filter');>> d0=100;>> m=fix(M/2);n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);if(d<=d0)h=1;elseh=0;endresult(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));imshow(J2),title('d0=100 lowpss filter');>> %2 阶巴特沃斯低通滤波>> nn=2;>> d0=15;>> m=fix(M/2);>>n=fix(N/2);>> for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn));result(i,j)=h*g(i,j);endend>> result=ifftshift(result);>> J1=ifft2(result);>> J2=uint8(real(J1));>> figure,subplot(1,2,1),imshow(img),title('Original Image'); subplot(1,2,2),imshow(J2),title('d0=15 Butterworth lowpss filter');>> %%%%%%%%d0=30 的巴特沃斯低通滤波%%%%%%%%%%%%%%% >> d0=30;>> m=fix(M/2);>>n=fix(N/2);>> for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn));result(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));>> imshow(J2),title('d0=30 Butterworth lowpss filter');>> %%%%%%%%d0=100 的巴特沃斯低通滤波%%%%%%%%%%%%%%%d0=100;>> d0=100;>> m=fix(M/2);>>n=fix(N/2);>> for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn));result(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));>> imshow(J2),title('d0=100 Butterworth lowpss filter');%高斯低通滤波d0=15;>> m=fix(M/2);>>n=fix(N/2);>> for i=1:M>> for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=exp(-(d.^2)./(2*(d0^2)));result(i,j)=h*g(i,j);endend>> result=ifftshift(result);>> J1=ifft2(result);>> J2=uint8(real(J1));subplot(1,2,1),imshow(img),title('Original Image'); subplot(1,2,2),imshow(J2),title('d0=15 Gaussian filter');>> %%%%%%%%d0=30 的高斯低通滤波%%%%%%%%%%%%%%% >> d0=30;>> m=fix(M/2);>>n=fix(N/2);>> for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=exp(-(d.^2)./(2*(d0^2)));result(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));imshow(J2),title('d0=30 Gaussian filter');>> %%%%%%%%d0=100 的高斯低通滤波%%%%%%%%%%%%%%% >> d0=100;>> m=fix(M/2);>>n=fix(N/2);>> for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=exp(-(d.^2)./(2*(d0^2)));result(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));imshow(J2),title('d0=100 Gaussian filter');3、(1)a、实验代码:>> %%%%%%%%%%%%%%%%理想高通滤波器%%%%%%%%%%%%%%%%%%%%%%%%%%%>> a=100;>> b=100;>> U=0:a;>> V=0:b;>> M=length(U);N=length(V);>> D0=15;>> H=zeros(M,N);>> n=2;>> for u=1:Mfor v=1:Na=sqrt((U(u)-50).*(U(u)-50)+(V(v)-50).*(V(v)-50));if(a>=D0)H(u,v)=1;elseH(u,v)=0;endendend>> surf(U,V,H),title('理想高通滤波透视图') ;>> %%%%%%%%%%%%%%%巴特沃斯高通滤波器%%%%%%%%%%%%%%%%%%%%%%%%>> a=100;b=100;U=0:a;V=0:b;M=length(U);N=length(V);D0=15;>> x1=50;>> y1=50;>> x0=-50;>> y0=-50;>> m=fix(M/2);>> n=fix(N/2);>> H=zeros(M,N);>> n=2;>> for u=1:Mfor v=1:Na=sqrt((U(u) - 50) .* (U(u)-50) + (V(v) - 50) .* (V(v) - 50));b=1+(a/D0)^2*n;H(u,v)=-1/b;endend>> surf(U,V,H),title('n=2 Butterworth high filter')>> %%%%%%%%%%%%%%高斯高通滤波>> a=100;b=100;U=0:a;V=0:b;M=length(U);N=length(V);D0=15;x1=50;y1=50;x0=-50;y0=-50;m=fix(M/2);n=fix(N/2);H=zeros(M,N);>> for u=1:Mfor v=1:ND1=((u-m-x0)^2+(v-n-y0).^2)^0.5;D2=((u-m+x0)^2+(v-n+y0).^2)^0.5;D11=((u-m-x1)^2+(v-n-y1).^2)^0.5;D21=((u-m+x1)^2+(v-n+y1).^2)^0.5;H(u,v) = (U(u) - 50) .* (U(u)-50) + (V(v) - 50) .* (V(v) - 50);endend>> S=50;>> H = -H/(2*S);>> H =- exp(H) / (sqrt(2*pi) * sqrt(S));>> surf(U,V,H),title('Gaussian high filter');(2)a、实验代码:>> img=imread('C:\Users\xxdn\Desktop\test_pattern.tif'); >> img=rgb2gray(img);>> f=double(img);>> g=fft2(f);>> g=fftshift(g);>> [M,N]=size(g);>> d0=15;>> m=fix(M/2);>> n=fix(N/2);>> for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);if(d>=d0)h=1;elseh=0;endresult(i,j)=h*g(i,j);endend>> result=ifftshift(result);>> J1=ifft2(result);>> J2=uint8(real(J1));>> subplot(1,2,1),imshow(img),title('Original Image'),subplot(1,2,2),imshow(J2),title('d0=15 high filter');>> d0=30;>> m=fix(M/2);n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);if(d>=d0)h=1;elseh=0;endresult(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));>> imshow(J2),title('d0=30 high filter');>> d0=80;>> m=fix(M/2);n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);if(d>=d0)h=1;elseh=0;endresult(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));>> imshow(J2),title('d0=80 high filter');>> %巴特沃斯高通滤波>> img=imread('C:\Users\xxdn\Desktop\test_pattern.tif'); img=rgb2gray(img);f=double(img);g=fft2(f);g=fftshift(g);[M,N]=size(g);>> img=imread('C:\Users\xxdn\Desktop\test_pattern.tif'); >> img=rgb2gray(img);>> f=double(img);>> g=fft2(f);>> g=fftshift(g);>> [M,N]=size(g);>> nn=2;>> d0=15;>> m=fix(M/2);>> n=fix(N/2);>> for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);if(d==0)h=0;elseh=1/(1+0.414*(d0/d)^(2*nn));endresult(i,j)=h*g(i,j);endend>> result=ifftshift(result);>> J1=ifft2(result);>> J2=uint8(real(J1));>> subplot(1,2,1),imshow(img),title('Original Image'),subplot(1,2,2),imshow(J2),title('d0=15 Butterworth high filter');>> d0=30;>> m=fix(M/2);n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);if(d==0)h=0;elseh=1/(1+0.414*(d0/d)^(2*nn));endresult(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));>> imshow(J2),title('d0=30 Butterworth high filter');>> d0=80;>> m=fix(M/2);n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);if(d==0)h=0;elseh=1/(1+0.414*(d0/d)^(2*nn));endresult(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));imshow(J2),title('d0=80 Butterworth high filter');>> %高斯高通滤波器>> img=imread('C:\Users\xxdn\Desktop\test_pattern.tif'); >> img=rgb2gray(img);>> f=double(img);>> g=fft2(f);>> g=fftshift(g);>> [M,N]=size(g);>> n=2;>> d0=15;>> m=fix(M/2);>> n=fix(N/2);>> for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1-exp(-(d.^2)./(2*(d0^2)));result(i,j)=h*g(i,j);endend>> result=ifftshift(result);>> J1=ifft2(result);>> subplot(1,2,1),imshow(img),title('Original Image'), subplot(1,2,2),imshow(J2),title('d0=15 Gaussian filter');>>>> d0=30;>> m=fix(M/2);n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1-exp(-(d.^2)./(2*(d0^2)));result(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));>> imshow(J2),title('d0=30 Gaussian filter');>> d0=80;>> m=fix(M/2);n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1-exp(-(d.^2)./(2*(d0^2)));result(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1));imshow(J2),title('d0=80 Gaussian filter');三、实验结论:1、当频带中心宽度相同时,理想低通滤波器为圆柱形图像,二阶巴特沃斯低通滤波器的面线比较紧凑,高斯滤波图像最为平滑;2、理想低通滤波器截止频率d0=15 时,滤波后的图像比较模糊,振铃现象也很明显;当d0=30 时,图像模糊程度减弱,振铃现象仍存在。

相关文档
最新文档