实验二数字图像频域增强-研究生(1)
- 格式:docx
- 大小:1.31 MB
- 文档页数:18
贵州大学实验报告学院:专业:班级:姓名学号实验组实验时间指导教师成绩实验项目名称实验二:数字图像的频域增强处理实验目的通过本实验的学习使学生熟悉和掌握数字图像中频域增强的基本原理及应用。
实验要求集中授课的教学方式实验原理1、频域增强原理:设函数f (x, y) 与线性位不变算子h(x, y) 的卷积结果是g(x, y),即g(x, y) = h(x, y)* f (x, y)那么根据卷积定理在频域有G(u, v) = H(u, v) F(u, v)其中,G(u, v) 、H(u, v) 、F(u, v) 分别是g(x, y)、h(x, y)、f (x, y)的傅立叶变换。
频域增强的主要步骤:(1)计算所需增强图像的傅立叶变换;(2)将其与一个(根据需要设计的)转移函数相乘;(3)再将结果进行傅立叶反变换以得到增强的图。
2、低通滤波器图像的能量大部分集中在幅度谱的低频和中频部分,而图像的边缘和噪声对应于高频部分,所以低通滤波器可以降低噪声的影响。
(1)理想低通滤波器其中D0 是一非负整数D(u, v) 是从点(u, v) 到频率平面原点的距离。
(2)巴特渥斯低通滤波器3、高通滤波器图像中的边缘对应高频分量,所以要锐化图像可以采用高通滤波。
(1)理想高通滤波器(2)巴特渥斯高通滤波器实验仪器计算机一台;Matlab软件实验步骤1、编写程序。
读取图像,并对其加入“盐和胡椒”噪声。
对噪声图像做理想低通滤波和巴特渥斯低通滤波处理。
比较选择不同参数时的实验结果。
2、编写程序。
读取图像。
对图像做理想高通滤波和巴特渥斯高通滤波处理。
比较选择不同参数时的实验结果。
实验内容1、利用低通滤波器对图像增强。
2、利用高通滤波器对图像增强。
实验数据步骤1代码部分clear all;close all;clc;I=imread('D:\用户目录\我的文档\MATLAB\图像处理\字母表.jpg');[f1,f2]=freqspace(size(I),'meshgrid'); %生成频率序列矩阵r=sqrt(f1.^2+f2.^2); %构造低通滤波器决策函数I=imnoise(I,'salt & pepper',0.04); %加椒盐噪声%理想低通滤波Hd1=ones(size(I)); %构造低通滤波器的大小Hd1(r>0.1)=0; %构造低通滤波器Y=fft2(double(I)); %对I进行Fourier变换Y=fftshift(Y); %频谱平移Ya1=Y.*Hd1; %低通滤波器Ya1=ifftshift(Ya1); %反变换Ia1=ifft2(Ya1);%巴特沃斯低通滤波D=0.4; %截止频率n=1; %nHd2=ones(size(I));for i=1:size(I,1)for j=1:size(I,2)t=r(i,j)/(D*D);Hd2(i,j)=1/(t^n+1); %构造滤波函数endendYa2=Y.*Hd2;Ya2=ifftshift(Ya2);Ia2=ifft2(Ya2);%输出figure;subplot(1,3,1);imshow(I);title('加噪图');subplot(1,3,2);imshow(uint8(Ia1));title('理想低通滤波');subplot(1,3,3);imshow(uint8(Ia2));title('巴特沃斯低通滤波');步骤2从滤波器形状来看,高通与低通滤波器的形状相反实验总结注:各学院可根据教学需要对以上栏木进行增减。
实验报告班级:08108班姓名:王胤鑫 09号学号:08210224一、实验内容给出噪声图像Girl_noise.jpg,请选择合适的图像增强算法,给出你认为最优的增强后的图像。
可以使用Matlab - Image Processing Toolbox 中的处理函数。
原始图像如下:二、算法分析对于给出的图像中有灰色的噪声,因此首先处理灰色的线条,根据其方差的大小来判断其所在行。
对于两条白色的噪声,根据与前后两行的对比来判断其所在位置。
程序中设定灰色线条处理的均方差门限为0.1,白线处理的标准为与前后两行的差值超过0.2(转换为double型)。
滤除噪声之后再通过中值滤波、拉普拉斯图像增强等方式对图像进行处理。
三、matlab 源程序clear all;clc;f=imread('girl_noise.jpg');figure,imshow(f),title('原始图像');[m,n]=size(f);f0= im2double(f); % 整型转换为double 类f1=f0;std_i=zeros(1,m-2);%灰线处理for i=2:m-1%灰线处理std_i(i-1)=std(f0(i,:));if(std_i(i-1)<0.1)for j=1:mf0(i,j)=(f0(i-1,j)+f0(i+1,j))/2;endendfigure,imshow(f0),title('滤除灰线后的图像');fz=f0-f1;[r,c]=find(fz~=0);%寻找灰线噪声的位置f2=f0;change=0;count=0;for i=3:m-2%白线处理for j=1:mif(abs(f0(i,j)-f0(i-1,j))>0.2&&abs(f0(i,j)-f0(i+1,j))>0.2)count=count+1;endif(count>n*0.8)count=0;change=1;break;endendif(change==1)for k=1:mf0(i,k)=(f0(i-1,k)+f0(i+1,k))/2;endchange=0;count=0;endendfigure,imshow(f0),title('滤除白线后的图像');fz1=f2-f0;[r1,c1]=find(fz1~=0); %寻找白线噪声的位置fn = medfilt2(f0); %反射对称填充figure, imshow(fn),title('中值滤波后的图像');f0 = im2double(fn); % 整型转换为double 类g =2*f0- imfilter(f0,w4, 'replicate'); % 增强后的图像figure, imshow(g),title('高提升滤波图像(A=2)');四、图像处理结果五、结果分析从上面结果可以看出,带状噪声处理部分,已经基本将带状噪声去除。
数字图像处理结课作业--数字图像频域增强方法及在matlab中的实现数字图像的频域增强摘要:图像增强处理技术是图像处理领域中一项基本的,也是很重要的技术,一直是图像处理领域中不可回避的研究课题。
因为一幅图像总是可能受到各种因素的干扰影响,造成图像质量的下降。
图像增强包含两个方面内容:一是消除噪声,二是增强(或保护)图像特征。
对图像恰当增强,能使图像去噪的同时特征得到较好保护,使图像更加清晰明显,从而提供给我们准确的信息。
常用的图像增强技术各有其特点和效果。
论文在介绍图像频域增强原理的基础上,在频域内通过对Butterworth低通滤波器增强方法进了研究,介绍了相关的理论和数学模型,并给利用MATLAB工具进行实现。
通过各种滤波后图像比较,实验证明在质量较差的图像中,选择不同的滤波算法对图像的增强在准确性上均有不同。
关键词:图像增强;Butterworth低通滤波器;MATLAB1.频域图像增强的目的、意义及主要内容1.1频域图像增强技术的目的:分析几种频域图像增强方法,并能够用频域法进行图像增强,通过形态学方法进行图像特征抽取和分析。
熟练的运用MATLAB,掌握修改图像的傅里叶变换来实现图像的增强技术。
1.2频域图形增强技术的意义:图像增强是图像处理中用来消除原始图像边缘模糊、对比度差等缺点的常用技术,它需要解决的问题包括边缘增强、噪声的滤除、高斯噪声的平滑和细节的保护等等。
本论文主要是针对整体偏暗图像而提出的图像增强的方法。
对于整体偏暗的图像,我们可以用直方图均衡化来调节图像的灰度分布,使图像变亮。
此外,为了进一步提高图像的视觉效果,即解决包括边缘增强、噪声滤除等问题,我们还可以用频域图像增强方法(高通滤波器和低通滤波器)来处理,因为高通滤波器可以突出图像边缘,增强有用信息,使图像更加清晰,而低通滤波器可以平滑去噪,抑制无用信息,从而提高图像成分的可分辨性。
1.3主要内容图像是一种重要的信息源,图像处理的最终目的就是要帮助人类理解信息的内涵。
西安邮电学院实验报告实验名称图像增强课程名称数字图像处理A姓名方健成绩班级电子0802 学号********(01)日期2011-05-03 地点3#531备注:仅供参考 不予下载1.实验目的(1)了解空间域图像增强的各种方法(点处理、掩模处理) (2)通过编写程序掌握采用直方图均衡化进行图像增强的方法(3)使用邻域平均法编写程序实现图像增强,进一步掌握掩模法及其改进(加门限法)消除噪声的原理2.实验环境(软件条件)Windows XP MATLAB 7.x3.实验方法A 直方图增强处理对如图1.1所示的两幅128×128的数字图像fing_128.bmp 和cell_128.bmp 进行如下处理:(1)对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同,并回答为什么数字图像均衡化后其直方图并非完全均匀分布。
B 图像平滑(1)对图1.1所示的两幅128×128、256级灰度的数字图像fing_128.bmp 和cell_128.bmp 加入点噪声,用4-邻域平均法平滑加噪声图像(图像四周边界不处理,下同),同屏显示原图像、加噪声图像和处理后的图像。
① 不加门限 ② 加门限),(21n m f T =,(其中∑∑=i jj i f N n m f ),(1),(2) C 图像锐化对256×256大小、256级灰度的数字图像lena.bmp (如图1.2所示)进行如下处理:(1)对原图像进行锐化处理,显示处理前、后图像:用Laplacian 算子进行锐化,分1=α和2=α两种情况,各按如下不同情况给出处理结果,并回答提出的问题:指纹图fing_128.bmp显微医学图像cell_128.bmp图1.2 实验图像lena.bmp① f n m f n m g 21),(),(∇-=α② )]1,()1,(),1(),1([),(4),(2++-+++--=n m f n m f n m f n m f n m f n m g αα问题:),(n m f 和),(1n m g 、),(2n m g 之间有何关系?),(2n m g 代表图像中的哪些信息?由此得出图像锐化的实质是什么?(2)分别利用Roberts 、Prewitt 和Sobel 边缘检测算子,对原图像进行边缘检测,显示处理前、后图像。
实验二图像的增强一、实验目的1)掌握在计算机上进行直方图统计,以及直方图均衡化、线性变换的图像增强的方法2)掌握在计算机上进行图象平滑、图象锐化特别是中值滤波平滑及拉普拉斯算子锐化的方法二、实验要求1)显示图像(cameraman.tif)及灰度直方图。
2)对指定图像(cameraman.tif)进行直方图均衡化和线性变换,将原始图像及增强后的图像都显示于屏幕上,比较增强的效果。
3)对指定图像(lena.bmp)加入椒盐噪声,然后进行邻域平滑、中值滤波,将原始图像及平滑后的图像都显示于屏幕上,比较效果。
4)对指定图像(lena.bmp)进行锐化(简单梯度算法、ROBERT算子,Prewitt边缘算子和拉普拉斯算子),将原始图像及锐化后的图像都显示于屏幕上,比较锐化的效果。
三、实验仪器设备及软件HP D538、MATLAB四、实验原理以自己的语言结合课堂笔记进行总结,要求过程推导清晰明了。
五、实验步骤及程序实验步骤、程序流程、实验源程序和注释齐全实验源程序:(1). 显示图像(cameraman.tif)及灰度直方图:I=imread('cameraman.tif');subplot(121);imshow(I);title('原始图象');subplot(122);imhist(I);title('灰度直方图')实验结果与分析(2)对指定图像(cameraman.tif)进行直方图均衡化和线性变换,将原始图像及增强后的图像都显示于屏幕上,比较增强的效果。
I=imread('cameraman.tif');subplot(221);imshow(I);title('原始图象');I1=histeq(I);subplot(222);imshow(I1);title('原始图象均衡化');subplot(223);imshow(I);title('原始图象');I2=imadjust(I);subplot(224);imshow(I1);title('原始图象线性变化');(3)对指定图像(lena.bmp)加入椒盐噪声,然后进行邻域平滑、中值滤波,将原始图像及平滑后的图像都显示于屏幕上,比较效果。
图像频域增强方法研究一、设计目的1.掌握图像频域增强的概念及其计算方法。
2.熟练掌握傅立叶变换和卷积的计算过程。
3.熟练掌握频域滤波中常用的Butterworth低通滤波器。
4.利用MATLAB程序进行图像增强。
二、设计要求1.熟练掌握MATLAB的运行环境,并能熟练应用。
2.掌握并理解MATLAB的各种编程方式及函数定义。
3.加深对数字图像处理的研究。
三、设计方案1.图像频域增强原理图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。
其主要目的是处理后的图像对某些特定的应用比原来的图像更加有效。
图像增强的方法分为空域法和频域法两类,空域法主要是对图像中的各个像素点进行操作;而频域法是在图像的某个变换域内,对图像进行操作,修改变换后的系数,例如傅立叶变换、DCT变换等的系数,然后再进行反变换得到处理后的图像。
卷积理论是频域技术的基础。
设函数f(x,y)与线性位不变算子h(x,y)的卷积结果是g(x,y),即g(x,y)=h(x,y)*f(x,y),那么根据卷积定理在频域有:G(u,v)=H(u,v)F(u,v) (1)其中G(u,v),H(u,v),F(u,v)分别是g(x,y),h(x,y),f(x,y)的傅立叶变换。
用线性系统理论的话来说,H(u,v)是转移函数。
在具体的增强应用中,f(x,y)是给定的(所以F(u,v)可利用变换得到),需要确定的是H(u,v),这样具有所需特性的g(x,y)就可由式(1)算出G(u,v)而得到:g(x,y)=F-1[H(u,v)F(u,v)] (2)2.MATLAB简介它的名称源自Matrix Laboratory ,它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB 产品的开放式结构,可以非常容易地对MATLAB 的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB 产品以提高产品自身的竞争能力。
数字图像实验报告图像增强实验一、实验目的熟悉并掌握MATLAB图像处理工具箱的使用;理解并掌握常用的图像的空域增强技术。
二、实验内容对一幅图像分别添加高斯、椒盐和斑点噪声,并分别进行均值和中值滤波处理,显示处理前后的图像。
三、实验方法及程序学生自行编程实现提示:1.加入高斯噪声的函数调用。
I_noise =imnoise(I,’gaussian’,0,0.1)2.加入椒盐噪声的函数调用。
I_noise = imnoise(I,’salt&pepper’,0.06)3.加入斑点噪声的函数调用。
I_noise= imnoise(I,’speckle’,0.1)4.均值滤波的函数调用。
I_smooth=imfilter(I_noise,fspecial(‘average’,5))5.中值滤波的函数调用。
I_smooth=medfilt2(I_noise,[3 3])A=imread('toyobjects.png');B=imnoise(A,'gaussian',0,0.1);%加入高斯噪声C=imnoise(A,'salt & pepper',0.05);%加入椒盐噪声D=imnoise(A,'speckle',0.05);%加入斑点噪声I1=imfilter(B,fspecial('average',5));I2= medfilt2(B);%高斯中值处理K1=imfilter(C,fspecial('average',5));K2= medfilt2(C);%椒盐中值处理G1=imfilter(D,fspecial('average',5));G2= medfilt2(D);%斑点噪声中值处理figure(1);imshow(A);title('原图像');figure(2);subplot(1,3,1);imshow(B);title('高斯噪声'); subplot(1,3,2);imshow(I1);title('高斯均值滤波处理'); subplot(1,3,3);imshow(I2);title('高斯中值滤波处理'); figure(3);subplot(1,3,1);imshow(C);title('椒盐噪声'); subplot(1,3,2);imshow(K1);title('椒盐均值处理'); subplot(1,3,3);imshow(K2);title('椒盐中值处理'); figure(4);subplot(1,3,1);imshow(D);title('斑点噪声'); subplot(1,3,2);imshow(G1);title('斑点噪声均值处理'); subplot(1,3,3);imshow(G2);title('斑点噪声中值处理');四、实验结果与分析分别运用B=imnoise(A,'gaussian',0,0.1)C=imnoise(A,'salt & pepper',0.05)D=imnoise(A,'speckle',0.05);三个函数啊加入不同的噪声,再用I_smooth=imfilter(I_noise,fspecial(‘average’,5))I_smooth=medfilt2(I_noise,[3 3])对加入噪声的图像进行处理,比较不同的处理方式对加入噪声后的图像处理后的清晰度。
数字图像处理实验实验总学时:10学时实验目的:本实验的目的是通过实验进一步理解和掌握数字图像处理原理和方法。
通过分析、实现现有的图像处理算法,学习和掌握常用的图像处理技术。
实验内容:数字图像处理的实验内容主要有三个方面:(1) 对图像灰度作某种变换,增强其中的有用信息,抑制无用信息,使图像的视在质量提高,以便于人眼观察、理解或用计算机对其作进一步的处理。
(2) 用某种特殊手段提取、描述和分析图像中所包含的某些特征和特殊的信息,主要的目的是便于计算机对图像作进一步的分析和理解,经常作为模式识别和计算机视觉的预处理。
这些特征包括很多方面,例如,图像的频域特性、灰度特征、边界特征等。
(3) 图像的变换,以便于图像的频域处理。
实验一图像的点处理实验内容及实验原理:1、灰度的线性变换灰度的线性变换就是将图像中所有的点的灰度按照线性灰度变换函数进行变换。
该线性灰度变换函数是一个一维线性函数:灰度变换方程为:其中参数为线性函数的斜率,函数的在y轴的截距,表示输入图像的灰度,表示输出图像的灰度。
要求:输入一幅图像,根据输入的斜率和截距进行线性变换,并显示。
2、灰度拉伸灰度拉伸和灰度线性变换相似。
不同之处在于它是分段线性变换。
表达如下:其中,(x1,y1)和(x2,y2)是分段函数的转折点。
要求:输入一幅图像,根据选择的转折点,进行灰度拉伸,显示变换后的图像。
3、灰度直方图灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(象素的个数)。
要求:输入一幅图像,显示它的灰度直方图,可以根据输入的参数(上限、下限)显示特定范围的灰度直方图。
4、直方图均衡:要求1 显示一幅图像pout.bmp的直方图;2 用直方图均衡对图像pout.bmp进行增强;3 显示增强后的图像。
实验二:数字图像的平滑实验内容及实验原理:1.用均值滤波器(即邻域平均法)去除图像中的噪声;2.用中值滤波器去除图像中的噪声3. 比较两种方法的处理结果 实验步骤:用原始图象lena.bmp 或cameraman.bmp 加产生的3%椒盐噪声图象合成一幅有噪声的图象并显示;1. 用均值滤波器去除图像中的噪声(选3x3窗口);2. f (x 0,y 0)=Med {f (x,y )∨x ∈[x 0−N,x 0+N ],y ∈[y 0−N,y 0+N ]}用中值滤波器去除图像中的噪声(选3x3窗口做中值滤波);3. 将两种处理方法的结果与原图比较,注意两种处理方法对边缘的影响。
实验:图像增强1.实验目的(1)熟悉并学会使用MA TLAB中图像增强的相关函数(2)了解图像增强的办法、去噪的方法和效果。
2.实验主要仪器设备(1)微型计算机:Intel Pentium及更高。
(2)MATLAB软件(含图像处理工具箱)。
(3)典型的灰度、彩色图像文件。
3.实验原理(1)将一副图像视为一个二维矩阵,用MATLAB进行图像增强。
(2)利用MATLAB图像处理工具箱中的函数imread(读)、imshow(显示)、imnoise(加噪)、filter(滤波)对图像进行去噪处理。
(3)图像灰度修正:灰度变换。
对不满意的图像通过线性或非线性灰度映射关系进行变换,其效果可以得到明显提高。
通过分析,会发现变换前后图像的直方图也发生相应的变化。
(4)图像平滑方法:领域平均、中值滤波。
分析图像降质的性质,区分平稳性还是非平稳型、加性还是乘性等,采用合适的去噪方法,可以去除或降低噪声对图像的影响。
从频率域看,平均操作在降低噪声的同时衰减了图像的高频分量,会影响图像细节的重现。
中值滤波对某些信号具有不变形,适用于消除图像中的突发干扰,但如果图像含有丰富的细节,则不宜使用。
(5)图像锐化方法:人眼对目标的边缘和轮廓较为敏感,对图像进行锐化,有助于突出图像的这些特征。
从频率域看,锐化提升了图像的高频分量。
4.实验内容(1)图像灰度修正。
(2)图像平滑方法。
(3)图像锐化方法。
5.实验步骤(1)图像灰度修正。
读入一幅灰度级分布不协调的图像,分析其直方图。
根据直方图,设计灰度变换表达式,或调用imadjuct函数。
调整变换表达式的参数,直到显示图像的灰度级分布均衡为正。
(2)图像平滑方法。
对有噪声图像或人为加入噪声的图像进行平滑处理。
根据噪声的类型,选择不同的去噪方法,如领域平均、中值滤波等方法,调用filter2、medfilt2函数,选择不同的滤波模板和参数,观测和分析各种去噪方法对不同噪声图像处理的去噪或降噪效果。
实验二:数字图像频域增强实验指导书一、实验目的(1)了解离散傅立叶变换的基本原理及其性质;(2)掌握应用MATLAB语言进行FFT及逆变换的方法;(3)了解图象在频域中处理方法,应用MATLAB语言作简单的低通及高通滤波器。
二、实验要求(1)读入数字图像,并利用MATLAB对其进行傅立叶变换,并显示其频谱图像;对该图像进行平移、旋转和放大(或缩小)操作,记录其频谱图像并分析。
实验用图像自行选择。
实验1数据记录可类似下表输入图像FFT变换频谱图像(2)读入数字图像,为该图像添加高斯以及椒盐噪声,利用巴特沃斯低通滤波器,高斯低通滤波器对一受噪声污染图像做处理,记录滤波后的频谱图像,再作反变换,记录处理后的新图像。
设定不同截止频率参数,重复一次实验。
(3)读入数字图像,设计实现巴特沃斯高通滤波器和高斯高通滤波器,记录滤波后的频谱图像,再作反变换,记录处理后的新图像。
设定不同截止频率参数,重复一次实验。
实验2,3数据记录可类似下表:输入图像滤波器截至频率处理后频谱图像反变换后图像三、提交作业要求内容包括:实验1~3记录的数据(格式见如上实验要求),对应的matlab代码,以及对实验过程和结果进行分析及总结。
参考MATLAB代码:clear;I1=imread('eight.tif');figure;subplot(2,2,1);imshow(I1);title('原始图像');I2=imnoise(I1,'salt & pepper');subplot(2,2,2);imshow(I2);title('噪声图像');f=double(I2);g=fft2(f); %执行fft变换g=fftshift(g); %移相[N1,N2]=size(g);n=5;d0=50; %截至频率n1=fix(N1/2);n2=fix(N2/2);for i=1:N1for j=1:N2d=sqrt((i-n1)^2+(j-n2)^2);h=1/(1+(d/d0)^(2*n)); % d0即为截至频率result(i,j)=h*g(i,j); %相乘endendresult1=ifftshift(result); %反移相X2=ifft2(result1); %反变换X3=uint8(real(X2));figure();subplot(2,2,1);imshow(X3);title('巴特沃斯滤波器图像');subplot(2,2,2);result=log(0.000001+abs(result));imshow(result,[]),colorbar;title('巴特沃斯滤波函数');figure();subplot(2,2,1);g=log(0.000001+abs(g));imshow(g,[]),colorbar;title('原始图像的傅立叶变换');实验原理1、傅立叶变换的基本知识在图像处理的广泛应用领域中,傅立叶变换起着非常重要的作用,具体表现在包括图像分析、图像增强及图像压缩等方面。
假设f (x , y )是一个离散空间中的二维函数,则该函数的二维傅立叶变换的定义如下:11(2/)(2/)00(,)(,)M N j M pm j N qn m n F p q f m n e e ππ----===∑∑ p=0,1…M -1 q=0,1…N -1 (1)或 12111201(,)(,)M N j m j n m n F f m n e e ωωωω----===∑∑ p=0,1…M -1 q=0,1…N -1 (2)离散傅立叶反变换的定义如下:11(2/)(2/)001(,)(,)M N j M pm j N qn p q f m n F p q e e MN ππ--===∑∑m=0,1…M -1 n=0,1…N -1 (3) F (p , q )称为f (m , n )的离散傅立叶变换系数。
这个式子表明,函数f (m , n )可以用无数个不同频率的复指数信号和表示,而在频率(w 1,w 2)处的复指数信号的幅度和相位是F (w 1,w 2)。
2、MATLAB 提供的快速傅立叶变换函数(1) fft2fft2函数用于计算二维快速傅立叶变换,其语法格式为:B = fft2(I)B = fft2(I)返回图像I 的二维fft 变换矩阵,输入图像I 和输出图像B 大小相同。
例如,计算图像的二维傅立叶变换,并显示其幅值的结果,如图所示,其命令格式如下load imdemos saturn2imshow(saturn2)B = fftshift(fft2(saturn2));imshow(log(abs(B)), [ ], ‘notruesize’)(2)fftshiftMATLAB提供的fftshift函数用于将变换后的图像频谱中心从矩阵的原点移到矩阵的中心,其语法格式为:B = fftshift(I)对于矩阵I,B = fftshift(I)将I的一、三象限和二、四象限进行互换。
(3)ifft2ifft2函数用于计算图像的二维傅立叶反变换,其语法格式为:B = ifft2(I)B = ifft2(I)返回图像I的二维傅立叶反变换矩阵,输入图像I和输出图像B大小相同。
其语法格式含义与fft2函数的语法格式相同,可以参考fft2函数的说明。
平移图像:I=imread('number.png');I=rgb2gray(I);subplot(2,2,1);imshow(I);title('原始图像');F1=fftshift(abs(fft2(I)));subplot(2,2,2);imshow(log(abs(F1)),[]);title('原始图像频谱'); se=translate(strel(1),[20 20]);I2=imdilate(I,se);subplot(2,2,3);imshow(I2);title('平移后图像');F2=fftshift(abs(fft2(I2)));subplot(2,2,4);imshow(log(abs(F2)),[]);title('平移图像频谱');旋转图像:f=imread('number.png');f=rgb2gray(f);subplot(2,2,1);imshow(f);title('原始图像');F=fftshift(abs(fft2(f)));subplot(2,2,2);imshow(log(abs(F)),[]);title('原始图像频谱');fm=imrotate(f,45,'bilinear','crop'); %%对其进行旋转subplot(2,2,3);imshow(fm);title('图像正向旋转45度');Fc=fftshift(abs(fft2(fm)));subplot(2,2,4);imshow(log(abs(Fc)),[]);title('旋转后图像的频谱');图像放大和缩小:f=imread('number.png');f=rgb2gray(f);subplot(2,3,1);imshow(f);title('原始图像');F=fftshift(abs(fft2(f)));subplot(2,3,2);imshow(log(abs(F)),[]);title('原始图像频谱');fa=imresize(f,2,'bilinear');subplot(2,3,3);imshow(fa);title('图像放大两倍');Fc=fftshift(abs(fft2(fa)));subplot(2,3,4);imshow(log(abs(Fc)),[]);title('放大后图像的频谱'); fb=imresize(f,0.5,'bilinear');subplot(2,3,5);imshow(fb);title('图像缩小一半');Fd=fftshift(abs(fft2(fb)));subplot(2,3,6);imshow(log(abs(Fd)),[]);title('缩小后图像的频谱');加入椒盐噪声:I=imread('rice.png');subplot(2,3,1);imshow(I);title('原始图像');F1=fftshift(abs(fft2(I)));subplot(2,3,2);imshow(log(abs(F1)),[]);title('原始图像频谱');J1 = imnoise(I,'salt & pepper',0.02); % 加入椒盐噪声subplot(2,3,3);imshow(J1);title('椒盐噪声图像');F1=fftshift(abs(fft2(J1)));subplot(2,3,4);imshow(log(abs(F1)),[]);title('椒盐噪声图像频谱') [M, N]=size(fftshift(fft2(double(J1))));nn = 2;d0 = 20;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+(d/d0)^(2*nn)); % 计算低通滤波器传递函数result(i,j) = h*g(i,j);endendresult = ifftshift(result);J2 = ifft2(result);J3 = uint8(real(J2));% 显示滤波处理后的图像subplot(2, 3, 5); imshow(J3); title('滤波结果')F2=fftshift(abs(fft2(J3)));subplot(2,3,6);imshow(log(abs(F2)),[]);title('滤波后图像频谱')加入高斯噪声:I=imread('rice.png');subplot(2,3,1);imshow(I);title('原始图像');F1=fftshift(abs(fft2(I)));subplot(2,3,2);imshow(log(abs(F1)),[]);title('原始图像频谱');J1 =imnoise(I,'gaussian',0.02);%加入高斯噪声subplot(2,3,3);imshow(J1);title('高斯噪声图像');F1=fftshift(abs(fft2(J1)));subplot(2,3,4);imshow(log(abs(F1)),[]);title('高斯噪声图像频谱') [M, N]=size(fftshift(fft2(double(J1))));nn = 2;d0 = 20;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+(d/d0)^(2*nn)); % 计算低通滤波器传递函数result(i,j) = h*g(i,j);endendresult = ifftshift(result);J2 = ifft2(result);J3 = uint8(real(J2));% 显示滤波处理后的图像subplot(2, 3, 5); imshow(J3); title('滤波结果')F2=fftshift(abs(fft2(J3)));subplot(2,3,6);imshow(log(abs(F2)),[]);title('滤波后图像频谱')利用巴特沃斯低通滤波器对高斯噪声图像进行处理:clear all; close all;A=imread('coins.png');I =imnoise(A,'gaussian',0.02);I=im2double(I);M=2*size(I,1);N=2*size(I,2);u=-M/2:(M/2-1);v=-N/2:(N/2-1);[U,V]=meshgrid(u, v);D=sqrt(U.^2+V.^2);D0=50;n=6;H=1./(1+(D./D0).^(2*n));J=fftshift(fft2(I, size(H, 1), size(H, 2)));K=J.*H;L=ifft2(ifftshift(K));L=L(1:size(I,1), 1:size(I, 2));figure;subplot(131);imshow(I);title('高斯噪声图像');subplot(132);imshow(L);title('巴特沃斯低通滤波后的图像');F2=fftshift(abs(fft2(L)));subplot(1,3,3);imshow(log(abs(F2)),[]);title('滤波后图像频谱’) 截止频率为50:截止频率为80:利用高斯低通滤波器对椒盐噪声图像进行处理:clear all; close all;A=imread('coins.png');I= imnoise(A,'salt & pepper',0.02);I=im2double(I);M=2*size(I,1);N=2*size(I,2);u=-M/2:(M/2-1);v=-N/2:(N/2-1);[U,V]=meshgrid(u, v);D=sqrt(U.^2+V.^2);D0=80;H=exp(-(D.^2)./(2*(D0^2)));J=fftshift(fft2(I, size(H, 1), size(H, 2))); K=J.*H;L=ifft2(ifftshift(K));L=L(1:size(I,1), 1:size(I, 2));figure;subplot(131);imshow(I);title('椒盐噪声图像');subplot(132);imshow(L);title('高斯低通滤波后的图像');F2=fftshift(abs(fft2(L)));subplot(1,3,3);imshow(log(abs(F2)),[]);title('滤波后图像频谱') 截止频率为80:截止频率为30:利用巴特沃斯高通滤波器对高斯噪声图像进行处理:clear all; close all;A=imread('coins.png');I =imnoise(A,'gaussian',0.02);M=2*size(I,1);N=2*size(I,2);u=-M/2:(M/2-1);v=-N/2:(N/2-1);[U,V]=meshgrid(u, v);D=sqrt(U.^2+V.^2);D0=30;n=6;H=1./(1+(D0./D).^(2*n));J=fftshift(fft2(I, size(H, 1), size(H, 2)));K=J.*H;L=ifft2(ifftshift(K));L=L(1:size(I,1), 1:size(I, 2));figure;subplot(131);imshow(I);title('高斯噪声图像');subplot(132);imshow(L);title('巴特沃斯高通滤波后的图像');F2=fftshift(abs(fft2(L)));subplot(1,3,3);imshow(log(abs(F2)),[]);title('滤波后图像频谱') 截止频率为30:截止频率为10:利用高斯高通滤波器对椒盐噪声图像进行处理:clear all; close all;A=imread('coins.png');I= imnoise(A,'salt & pepper',0.02);I=im2double(I);M=2*size(I,1);N=2*size(I,2);u=-M/2:(M/2-1);v=-N/2:(N/2-1);[U,V]=meshgrid(u, v);D=sqrt(U.^2+V.^2);D0=20;H=1-exp(-(D.^2)./(2*(D0^2)));J=fftshift(fft2(I, size(H, 1), size(H, 2))); K=J.*H;L=ifft2(ifftshift(K));L=L(1:size(I,1), 1:size(I, 2));figure;subplot(131);imshow(I);title('椒盐噪声图像');subplot(132);imshow(L);title('高斯高通滤波后的图像');F2=fftshift(abs(fft2(L)));subplot(1,3,3);imshow(log(abs(F2)),[]);title('滤波后图像频谱') 截止频率为20:截止频率为10:。