(整理)数字图像处理之频率滤波
- 格式:doc
- 大小:680.00 KB
- 文档页数:19
空间域滤波和频率域处理的特点1.引言空间域滤波和频率域处理是数字图像处理中常用的两种图像增强技术。
它们通过对图像进行数学变换和滤波操作来改善图像质量。
本文将介绍空间域滤波和频率域处理的特点,并比较它们之间的异同。
2.空间域滤波空间域滤波是一种直接在空间域内对图像像素进行处理的方法。
它基于图像的局部像素值来进行滤波操作,常见的空间域滤波器包括均值滤波器、中值滤波器和高斯滤波器等。
2.1均值滤波器均值滤波器是最简单的空间域滤波器之一。
它通过计算像素周围邻域的平均值来实现滤波操作。
均值滤波器能够有效地去除图像中的噪声,但对图像细节和边缘保留较差。
2.2中值滤波器中值滤波器是一种非线性的空间域滤波器。
它通过计算像素周围邻域的中值来实现滤波操作。
中值滤波器能够在去除噪声的同时保持图像细节和边缘,对于椒盐噪声有较好的效果。
2.3高斯滤波器高斯滤波器是一种线性的空间域滤波器。
它通过对像素周围邻域进行加权平均来实现滤波操作。
高斯滤波器能够平滑图像并保留图像细节,它的滤波核可以通过调整方差来控制滤波效果。
3.频率域处理频率域处理是一种将图像从空间域转换到频率域进行处理的方法。
它通过对图像进行傅里叶变换或小波变换等操作,将图像表示为频率分量的集合,然后对频率分量进行处理。
3.1傅里叶变换傅里叶变换是一种将信号从时域转换到频域的数学变换。
在图像处理中,可以应用二维傅里叶变换将图像从空间域转换到频率域。
在频率域中,图像的低频分量对应于图像的整体结构,高频分量对应于图像的细节和边缘。
3.2小波变换小波变换是一种基于小波函数的时频分析方法。
它能够在频率和时间上同时提供图像的信息,对于图像的边缘和纹理特征有较好的表达能力。
小波变换在图像压缩和特征提取等方面具有广泛应用。
4.空间域滤波与频率域处理的对比空间域滤波和频率域处理都可以用来改善图像质量,但它们有着不同的特点和适用场景。
4.1处理方式空间域滤波是直接对图像像素进行处理,操作简单直接,适用于小规模图像的处理。
数字图像处理作业——频域滤波器设计摘要在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。
本文利用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)到滤波器中心的距离。
数字图像处理中的图像滤波研究一、引言图像滤波是数字图像处理中的重要技术之一,用于改善图像的质量和增强图像的特定特征。
图像滤波可以去除图像中的噪声和不必要的细节,从而提高图像的视觉效果和信息传输性能。
本文将深入探讨数字图像处理中的图像滤波研究。
二、图像滤波的基本原理图像滤波是通过对图像进行局部加权平均或差值运算,改变图像的灰度分布和空间响应,从而实现图像的模糊、锐化、增强等效果。
图像滤波主要包括线性滤波和非线性滤波两种方法。
2.1 线性滤波线性滤波是指通过卷积操作实现的滤波方法。
常见的线性滤波器包括均值滤波器、高斯滤波器和中值滤波器等。
均值滤波器通过对图像区域内像素值进行平均,从而实现图像的模糊效果;高斯滤波器则通过对图像区域内像素值进行加权平均,从而实现图像的模糊和去噪效果;中值滤波器则通过选取区域内像素值的中值,从而实现图像的去噪效果。
2.2 非线性滤波非线性滤波是指通过对图像像素值进行排序和比较,选择滤波器的操作方法。
常见的非线性滤波器包括基于排序统计的滤波器、自适应滤波器和边缘保留滤波器等。
基于排序统计的滤波器通过对图像像素值进行排序,并选择特定位置的像素值进行滤波,从而实现图像的锐化和边缘增强效果;自适应滤波器则通过根据图像局部统计特性改变滤波器参数,从而实现图像的自适应处理;边缘保留滤波器则通过保留图像边缘信息的方式进行滤波,从而实现图像的去噪效果。
三、图像滤波的应用图像滤波在各个领域都有广泛的应用。
3.1 图像去噪图像去噪是图像滤波的一大应用领域。
通过应用不同的滤波器和滤波方法,可以去除图像中的椒盐噪声、高斯噪声等不同类型的噪声,提高图像的质量和清晰度。
3.2 图像增强图像增强是通过滤波方法改善图像的对比度、边缘和细节,从而使图像更加鲜明和清晰。
常见的图像增强方法包括直方图均衡化、区域增强和多尺度增强等。
3.3 图像特征提取图像滤波还可以应用于图像特征提取。
通过选择合适的滤波器和滤波算法,可以有效地提取图像中的边缘、纹理和角点等特征,为后续图像处理和分析提供基础。
数字图像处理复习笔记整理:1.遥感数字图像处理的主要内容:(1)图像增强(2)图像校正(3)信息提取2.数字图像处理两个观点:(1)离散方法:一幅图像的存储和表示均为数字形式,数字是离散的,因此使用离散方法进行图像处理才是合理的。
与该方法相关的概念是空间域(2)连续方法:图像通常源于物理世界,它们服从可用连续数学描述的规律,因此具有连续性应该使用连续数学方法进行图像处理。
与该方法相关的主要概念是频率域。
频率域基于傅里叶变换,频率域的图像处理是对傅里叶变换后产生的反映频率信息的图像进行处理。
3.数字化的两个过程:(1)采样:将空间上连续的图像变换成离散点(即像素)的操作称为采样。
(2)量化:是将像素的灰度值转换成整灰度级的过程。
4.相干图像:微波遥感所产生的图像。
5.通用遥感图像数据格式:(1)BSQ格式:像素按波段顺序一次排列的数据格式(2)BIL格式:像素先以行为单位分块,在每个块内,按照波段顺序排列像素(3)BIP格式:以像素为核心,保持行的顺序不变,在列的方向上按列分块,每个块内为当前像素不同波段的像素值6.遥感图像可以表示为某一时刻t,在不同波长入和不同极化(偏振)方向p,能够收集到的位于坐标(x,y)的目标物所辐射的电磁波能量7.卷积是空间域上针对特定窗口进行的运算,是图像平滑、锐化中使用的基本的计算方法。
设窗口大小为mXn,(i,j)是中心像素,f(x,y)是图像像素值,g(i,j)是运算结果,h(x,y)是窗口模板(或称为卷积核,kernel),那么,卷积计算的公式为对于整个图像,从左上角开始,由左到右、由上到下按照窗口大小顺序进行遍历,即可完成整个图像的卷积计算。
对于图像边缘,由于无法满足窗口对中心像素的要求,其窗口外部的像素值可以用以下任意一种方法来处理:①设为0值;②按照对称原则从图像中取值;③保留原值,不进行计算8.纹理可分为人工纹理和自然纹理。
人工纹理:是由自然背景上的符号排列组成的,这些符号可以是线条、点、字母、数字等。
频率域滤波的基本步骤频率域滤波是一种图像处理方法,其基本原理是将图像从像素域转换到频率域进行滤波处理,然后再将图像转换回像素域。
该方法常用于图像增强、图像去噪和图像复原等领域。
下面是频率域滤波的基本步骤和相关参考内容的详细介绍。
1. 图像的傅里叶变换:频率域处理首先需要对图像进行傅里叶变换,将图像从时域转化为频域。
傅里叶变换可以用来分析图像中不同频率的成分。
常见的图像傅里叶变换算法有快速傅里叶变换(FFT)和离散傅里叶变换(DFT)。
参考内容:- 数字图像处理(第四版)- 冈萨雷斯,伍兹,展学良(译)【书籍】- 数字媒体技术基础与应用(第二版) - 楼书记【书籍】2. 频率域滤波:在频率域进行滤波可以有效地去除图像中的噪声和干扰,增强图像的边缘和细节。
常见的频率域滤波方法包括低通滤波和高通滤波。
- 低通滤波器:能通过低于某个截止频率的信号成分,而阻断高于该截止频率的信号成分。
常用的低通滤波器有理想低通滤波器、布特沃斯低通滤波器和高斯低通滤波器。
- 高通滤波器:能通过高于某个截止频率的信号成分,而阻断低于该截止频率的信号成分。
常用的高通滤波器有理想高通滤波器、布特沃斯高通滤波器和导向滤波器。
参考内容:- 数字图像处理(第四版)- 冈萨雷斯,伍兹,展学良(译)【书籍】- Python图像处理实战【书籍】3. 反傅里叶变换:经过频率域滤波处理后,需要将图像从频域转换回时域。
这一过程利用反傅里叶变换来实现,通过傅里叶逆变换可以将频域图像转化为空域图像。
参考内容:- 数字图像处理(第四版)- 冈萨雷斯,伍兹,展学良(译)【书籍】- 数字媒体技术基础与应用(第二版) - 楼书记【书籍】4. 图像的逆滤波(可选):在某些情况下,可以使用逆滤波来进行图像复原。
逆滤波是频率域滤波的一种特殊形式,用于恢复被模糊处理的图像。
然而逆滤波对于噪声敏感,容易引入伪影。
因此在实际应用中,通常会结合其他技术来优化逆滤波的效果。
数字图像处理-------滤波器1 滤波器的概念滤波器是一种对信号有处理作用的器件或电路。
主要作用是:让有用信号尽可能无衰减的通过,对无用信号尽可能大的衰减。
滤波器,顾名思义,是对波进行过滤的器件。
“波”是一个非常广泛的物理概念,在电子技术领域,“波”被狭义地局限于特指描述各种物理量的取值随时间起伏变化的过程。
该过程通过各类传感器的作用,被转换为电压或电流的时间函数,称之为各种物理量的时间波形,或者称之为信号。
因为自变量时间是连续取值的,所以称之为连续时间信号,又习惯地称之为模拟信号(Analog Signal)。
随着数字式电子计算机技术的产生和飞速发展,为了便于计算机对信号进行处理,产生了在抽样定理指导下将连续时间信号变换成离散时间信号的完整的理论和方法。
也就是说可以只用原模拟信号在一系列离散时间坐标点上的样本值表达原始信号而不丢失任何信息,波、波形、信号这些概念既然表达的是客观世界中各种物理量的变化,自然就是现代社会赖以生存的各种信息的载体。
信息需要传播,靠的就是波形信号的传递。
信号在它的产生、转换、传输的每一个环节都可能由于环境和干扰的存在而畸变,有时,甚至是在相当多的情况下,这种畸变还很严重,以致于信号及其所携带的信息被深深地埋在噪声当中了。
滤波,本质上是从被噪声畸变和污染了的信号中提取原始信号所携带的信息的过程。
2 滤波器分类1 按所采用的的元器件分类,滤波器可分为:有源滤波器、无源滤波器两类.无源滤波器:仅由无源元件组成的滤波器,它是利用电容和电感元件的电抗随频率的变化而变化的原理构成的。
这类滤波器的优点是:电路比较简单,不需要直流电源供电,可靠性高;缺点是:通带内的信号有能量损耗,负载效应比较明显,使用电感元件时容易引起电磁感应,当电感L较大时滤波器的体积和重量都比较大,在低频域不适用。
有源滤波器:由无源元件和有源器件组成。
这类滤波器的优点是:通带内的信号不仅没有能量损耗,而且还可以放大,负载效应不明显,多级相联时相互影响很小,利用级联的简单方法很容易构成高阶滤波器,并且滤波器的体积小、重量轻、不需要磁屏蔽;缺点是:通带范围受有源器件的带宽限制,需要直流电源供电,可靠性不如无源滤波器高,在高压、高频、大功率的场合不适用。
数字图像处理-频域滤波-⾼通低通滤波频域滤波频域滤波是在频率域对图像做处理的⼀种⽅法。
步骤如下:滤波器⼤⼩和频谱⼤⼩相同,相乘即可得到新的频谱。
滤波后结果显⽰,低通滤波去掉了⾼频信息,即细节信息,留下的低频信息代表了概貌。
常⽤的例⼦,⽐如美图秀秀的磨⽪,去掉了脸部细节信息(痘坑,痘印,暗斑等)。
⾼通滤波则相反。
⾼通/低通滤波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可以改变滤波器的形状。
数字图像处理之均值滤波图像噪声,通常指图像中除了成像物体之外的其它信息,⽐如斑点和颗粒,这些额外的错误信息⼲扰了成像物体的显⽰,影响成像质量,所以往往需要通过图像滤波(也称为图像去噪)来消除这些噪点。
常见的图像滤波算法有均值滤波、⾼斯滤波、中值滤波、双边滤波、⾮局部均值滤波,以及近⼏年⽕热的基于深度学习的图像滤波等。
本章节将详细讲解均值滤波算法的原理,以及C++实现和优化。
⾸先膜拜⼀下那些写Opencv代码的⼤佬们,他们写的代码不仅稳定性良好,运⾏效率也超级⾼,很多时候我们费尽⼼思写了⼀个相同的算法,发现性能与Opencv的接⼝函数相⽐还是差了许多,所以会有⼀丢丢的⼼理落差,但是抱着学习的态度,追赶⼤佬的脚步,精益求精,相信我们⾃⼰也是可以的!均值滤波,也就是计算每⼀个像素点周围像素点(包括该点)的平均值,作为该像素点滤波之后的值,通常取以该像素点为中⼼的矩形窗⼝内的所有像素点来计算平均值,矩形窗⼝的⼤⼩⼀般为3*3,5*5,9*9,...,(2n+1)*(2n+1)。
窗⼝越⼤,滤波效果越好,但是图像也变得更加模糊,所以需要根据实际情况设置矩形窗⼝的⼤⼩。
⽐如3*3窗⼝的均值滤波如下图所⽰,点(x,y)的滤波值由其周围9个点(包括其⾃⾝)计算平均值得到。
上图中点(x,y)的滤波值⽤公式表⽰为:对于(2n+1)*(2n+1)窗⼝,点(x,y)的平均滤波值可根据如下公式计算:为了解决图像边缘像素点取不到完整矩形窗⼝的问题,通常先把图像的上、下边界扩充n⾏,左右边界扩充n列,实际计算时,只计算图像原有像素点的窗⼝平均值。
⽐如当矩形窗⼝为3*3,则n的值为1,这种情况下扩充边界的⽰意图如下图所⽰:根据以上原理,基于Opencv和C++的均值滤波实现代码如下:void blur_mean(Mat src, Mat &dst, int winsize){if(winsize&1) //如果窗⼝的边不是奇数,则加1使其为奇数,因为只有窗⼝的边为奇数的时候当前像素点才是窗⼝的中⼼点{winsize += 1;}const int winsize_2 = winsize/2; //winsize_2 就是上述公式中的nconst float winsize_num = winsize*winsize; //(2n+1)*(2n+1)Mat src_board;//调⽤Opencv的copyMakeBorder函数扩充边界copyMakeBorder(src, src_board, winsize_2, winsize_2, winsize_2, winsize_2, BORDER_REFLECT);const int row = src_board.rows; //⾏const int col = src_board.cols;Mat dst_tmp(src.size(), CV_8UC1); //列for(int i = winsize_2; i < row-winsize_2; i++) //⾏循环,只计算图像的原有⾏{for(int j = winsize_2; j < col-winsize_2; j++) //列循环,只计算图像的原有列{float sum = 0.0;//计算每⼀个像素点周围矩形区域内所有像素点的累加和for(int y = 0; y < winsize; y++){for(int x = 0; x < winsize; x++){sum += src_board.ptr<uchar>(i-winsize_2+y)[j-winsize_2+x];}}//求得累加和之后再求窗⼝像素的平均值。
前章介绍的灰度变换,输出图像中每个像素的灰度值,仅取决于输入图像中对应像素的灰度值和采用的变换函数,而与其邻域无关。
本章介绍的空间域滤波方法,在确定输出图像每个像素的灰度值时,其邻域将起重要作用。
所谓像素邻域,是指以该像素为中心一定空间范围内像素的集合。
空间域是指图像平面自身,空间域图像增强就是直接修改像素值的处理方法,所以灰度变换和空间域滤波(Spatial Filtering)都属于空间域图像增强。
4.1 关于滤波经典与现代滤波是从含有噪声或干扰的接收信号中提取有用信号的一种技术。
根据傅里叶分析和变换理论,任何满足一定条件的信号,都可以看成是由不同频率正弦信号成分线性叠加而成。
经典滤波器假定输人信号中的有用成分和希望去除的无用成分各自占有不同的频带,这样,当输入信号通过一个滤波器后,可以将无用成分有效去除。
如果信号和噪声等无用成分的频谱相互重叠,那么经典滤波器将无能为力。
现代滤波器理论则从含有噪声的数据样本中估计出信号的某些特征或信号本身。
它把信号和噪声都视为随机信号,利用其统计特征导出一套最佳的估值算法,然后用硬件或软件予以实现。
维纳滤波器(Wiener filter)便是这一类滤波器的典型代表。
此外,还有卡尔曼滤波器(Kalman filter)、自适应滤波器(Adaptive filter)等。
本章介绍的统计排序非线性空间域滤波器(Order statistics filter)也可归类为现代滤波器。
平滑与锐化如果滤波器输出中保留了信号的低频成分、去除了高频成分,那么该滤波器就是低通滤波器(low-pass filter);反之,如果保留了信号中的高频成分、而去除低频成分,那么该滤波器就是高通滤波器(high-pass filter)。
低通滤波器能减弱像素灰度值的空间波动程度,使之变得平滑,故称平滑滤波器;而高通滤波器能提取图像中的纹理细节,可用于图像的锐化,提高图像的清晰度,又称锐化滤波器。
图像处理技术中的滤波器使用方法图像处理是一门广泛应用的技术,它涉及到许多方面,其中滤波器是一项重要的工具。
滤波器用于对图像进行改善和精确处理,通过调整图像的频率和波形来增强图像的质量和细节。
在本文中,我们将介绍图像处理技术中滤波器的使用方法。
滤波器是一个数学函数或算法,它在图像处理中起到过滤或增强特定频率分量的作用。
常见的滤波器包括低通滤波器、高通滤波器、中值滤波器和高斯滤波器等。
让我们来了解一下低通滤波器的使用方法。
低通滤波器用于模糊图像,去除高频分量,从而减少图像中的噪声和细节。
这种滤波器常用于平滑图像、降低图像的锐化度以及去除图像中的噪声。
低通滤波器的示例包括均值滤波器和中值滤波器。
均值滤波器通过计算像素周围像素的平均值来实现模糊效果,而中值滤波器则通过计算像素周围像素的中位数来实现模糊效果。
接下来,我们将介绍高通滤波器的使用方法。
高通滤波器与低通滤波器相反,它通过增强高频分量来突出图像的细节和边缘。
高通滤波器通常用于图像增强、边缘检测和特征提取等方面。
常见的高通滤波器包括拉普拉斯滤波器和Sobel滤波器。
拉普拉斯滤波器通过对图像进行二次微分来增强边缘和细节,而Sobel滤波器则通过计算像素周围像素的梯度来检测边缘。
除了低通滤波器和高通滤波器,我们还有其他类型的滤波器。
例如,中值滤波器常用于去除图像中的椒盐噪声。
它通过将像素周围的像素进行排序,并用中间值替代当前像素来实现去噪效果。
高斯滤波器是一种典型的线性平滑滤波器,它可降低图像的高频分量,从而去除图像中的噪声。
在使用滤波器时,我们需要考虑一些因素。
我们需要确定所需的效果,是增强图像细节还是减少图像噪声。
根据需要,选择合适的滤波器以获得期望的结果。
我们需要调整滤波器的参数,如滤波器的大小和权重等,以获得最佳的效果。
还需要注意滤波器引入的可能的副作用,如模糊效果和潜在的图像失真。
在实际应用中,我们还可以结合多个滤波器来进行图像处理。
例如,可以首先使用中值滤波器去除椒盐噪声,然后再应用高斯滤波器平滑图像,并最后使用拉普拉斯滤波器增强边缘和细节。
实验四、频域滤波一、实验目的1.了解频域滤波的方法;2.掌握频域滤波的基本步骤。
二、实验内容1.使用二维快速傅立叶变换函数fft2( )及其反变换函数ifft2( )对图象进行变换;2.自己编写函数生成各种频域滤波器;3.比较各种滤波器的特点。
三、实验步骤1.图象的傅立叶变换a.对图象1.bmp 做傅立叶变换。
>> x=imread(‘1.bmp’);f=fft2(x);imshow(real(f)) %显示变换后的实部图像figuref1=fftshift(f);imshow(real(f1))变换后的实部图像中心平移后图像b.对图象cameraman.tif 进行傅立叶变换,分别显示变换后的实部和虚部图象。
思考:对图象cameraman.tif 进行傅立叶变换,并显示其幅度谱|F(U,V)|。
结果类似下图。
显示结果命令imshow(uint8(y/256))程序如下:x=imread('cameraman.tif');f=fft2(x);f1=fftshift(f);y0=abs(f);y1=abs(f1);subplot(1,3,1),imshow(x)title('sourceimage')subplot(1,3,2),imshow(uint8(y0/256))title('F|(u,v)|')subplot(1,3,3),imshow(uint8(y1/256))title('中心平移')2.频域滤波的步骤a.求图象的傅立叶变换得F=fft2(x)b.用函数F=fftshit(F) 进行移位c.生成一个和F 一样大小的滤波矩阵H .d.用F和H相乘得到G , G=F.*He.求G的反傅立叶变换得到g 就是我们经过处理的图象。
这其中的关键就是如何得到H 。
3.理想低通滤波器a.函数dftuv( )在文件夹中,它用生成二维变量空间如:[U V]=dftuv(11,11)b.生成理想低通滤波器>>[U V]=dftuv(51,51);D=sqrt(U.^2+V.^2);H=double(D<=15);Mesh(U,V,H)c.应用以上方法,对图象cameraman.tif进行低通滤波;>> close allQ=0.7F=imread('cameraman.tif')[U V]=dftuv(size(F,1),size(F,2));D=sqrt(U.^2+V.^2);H=double(D<= size(F,1)/2*Q); %修改系数Q为0.5,0.3,0.2FF=fft2(F);G=FF.*H;imshow(real(fftshift(FF)))figureimshow(real(fftshift(G)))g=real(ifft2(G));figureimshow(uint8(g))在以原点为圆心,以D0为半径的圆内无衰减的通过所有频率而在该圆外切断所有频率的二维低通滤波器,称为理想低通滤波器。
思考:观察理想低通滤波器不同滤波半径对滤波结果的影响。
即系数Q分别为0.7、0.5、0.3、0.2时,结果如何?并加以解释说明。
close allF=imread('cameraman.tif')[U V]=dftuv(size(F,1),size(F,2));D=sqrt(U.^2+V.^2);H=double(D<= size(F,1)/2*Q1); %修改系数Q为0.5,0.3,0.2 FF=fft2(F);G=FF.*H;subplot(4,3,1),imshow(real(fftshift(FF)))subplot(4,3,2),imshow(real(fftshift(G)))title('Q=0.7')g=real(ifft2(G));subplot(4,3,3),imshow(uint8(g))Q2=0.5F=imread('cameraman.tif')[U V]=dftuv(size(F,1),size(F,2));D=sqrt(U.^2+V.^2);H=double(D<= size(F,1)/2*Q2); %修改系数Q为0.5,0.3,0.2 FF=fft2(F);G=FF.*H;subplot(4,3,4),imshow(real(fftshift(FF)))subplot(4,3,5),imshow(real(fftshift(G)))title('Q=0.5')g=real(ifft2(G));subplot(4,3,6),imshow(uint8(g))Q3=0.3F=imread('cameraman.tif')[U V]=dftuv(size(F,1),size(F,2));D=sqrt(U.^2+V.^2);H=double(D<= size(F,1)/2*Q3); %修改系数Q为0.5,0.3,0.2 FF=fft2(F);subplot(4,3,7),imshow(real(fftshift(FF)))subplot(4,3,8),imshow(real(fftshift(G)))title('Q=0.3')g=real(ifft2(G));subplot(4,3,9),imshow(uint8(g))Q4=0.2F=imread('cameraman.tif')[U V]=dftuv(size(F,1),size(F,2));D=sqrt(U.^2+V.^2);H=double(D<= size(F,1)/2*Q4); %修改系数Q为0.5,0.3,0.2 FF=fft2(F);G=FF.*H;subplot(4,3,10),imshow(real(fftshift(FF)))subplot(4,3,11),imshow(real(fftshift(G)))title('Q=0.2')g=real(ifft2(G));subplot(4,3,12),imshow(uint8(g))随着Q值越小,即滤波半径越小,滤波后的图像越模糊,且滤波半径变小会出现振铃效应。
随着滤波器半径的增大,滤除的功率越来越少,导致模糊也越来越减弱。
4.巴特沃兹低通滤波器>> close allf=imread('cameraman.tif');PQ=size(f);[U V]=dftuv(PQ(1),PQ(2));D0=0.07*PQ(2);F=fft2(f,PQ(1),PQ(2)); % 与F=fft2(f)相同H=exp(-(U.^2+V.^2)/(2*(D0^2))); %高斯低通mesh(U,V,H)figureG=F.*H;imshow(real(fftshift(F))) figureimshow(real(fftshift(G))) g=real(ifft2(G));figureimshow(uint8(g))思考:使用二阶巴特沃兹滤波器对图象cameraman.tif进行低通滤波。
H=1./(1+(D./d0).^(2*n));d0取15、30、80,n=2表示二阶)close alld0=30;n=2;f=imread('cameraman.tif');PQ=size(f);[U V]=dftuv(PQ(1),PQ(2));D=sqrt(U.^2+V.^2);F=fft2(f,PQ(1),PQ(2)); % 与F=fft2(f)相同H=1./(1+(D./d0).^(2*n)) %d0取15、30、80,n=2表示二阶) %高斯低通mesh(U,V,H)figuresubplot(1,3,1)G=F.*H;imshow(real(fftshift(F)))subplot(1,3,2)imshow(real(fftshift(G)))g=real(ifft2(G));subplot(1,3,3)imshow(uint8(g))5. 高通滤波器(相当于锐化)a.我们可以参照理想低通滤波器的思路,得到>>[U V]=dftuv(51,51);D=sqrt(U.^2+V.^2);H=double(D>=115);Mesh(U,V,H)b.对图象cameraman.tif进行高通滤波close allx=imread('cameraman.tif');[U V]=dftuv(size(x,1),size(x,2));D=sqrt(U.^2+V.^2);H=double(D>= size(x,1)/2*0.4);F=fft2(x);G=F.*H;imshow(real(fftshift(F)))figureimshow(real(fftshift(G)))g=real(ifft2(G));figureimshow(uint8(g))w=histeq(g);figureimshow(w)高通滤波器会衰减傅里叶变换中的低频分量而不会扰乱高频信息。
D0越高,图像边缘越清晰,失真越小。
思考:使用高斯高通滤波器对图象cameraman.tif进行高通滤波。
H1=1-exp(-(U.^2+V.^2)./(2*(D0^2)));close allx=imread('cameraman.tif');[U V]=dftuv(size(x,1),size(x,2));D0=15H=1-exp(-(U.^2+V.^2)./(2*(D0^2))); F=fft2(x);G=F.*H;g=real(ifft2(G));subplot(3,2,1),imshow(uint8(g))title('D0=15')w=histeq(g);subplot(3,2,2),imshow(w)D0=30H=1-exp(-(U.^2+V.^2)./(2*(D0^2))); F=fft2(x);G=F.*H;g=real(ifft2(G));subplot(3,2,3),imshow(uint8(g))title('D0=30')w=histeq(g);subplot(3,2,4),imshow(w)D0=80H=1-exp(-(U.^2+V.^2)./(2*(D0^2))); F=fft2(x);G=F.*H;g=real(ifft2(G));subplot(3,2,5),imshow(uint8(g))title('D0=80')w=histeq(g);subplot(3,2,6),imshow(w)用高斯高通滤波器对图像进行滤波后,相对于前面滤波器,图像会更加平滑。