数字图像处理实验一_图像变换及频域滤波
频域滤波器设计(数字图像处理实验报告)

数字图像处理作业——频域滤波器设计摘要在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。
本文利用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)到滤波器中心的距离。
数字图像处理中的频域滤波数学原理探索

数字图像处理中的频域滤波数学原理探索数字图像处理是一门涉及图像获取、图像处理和图像分析的学科,其中频域滤波是其中一个重要的技术。
频域滤波通过将图像从空域转换到频域,利用频域的特性对图像进行处理。
本文将探索数字图像处理中的频域滤波的数学原理。
一、傅里叶变换傅里叶变换是频域滤波的基础,它将一个函数表示为正弦和余弦函数的和。
对于一维信号,傅里叶变换可以表示为以下公式: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. 逆傅里叶变换对滤波后的频域图像进行逆傅里叶变换,将其转换回空域表示。
实验一图像变换及频域滤波

实验一 图像变换及频域滤波1. 实验任务(1)编写快速傅里叶变换算法程序,验证二维傅里叶变换的平移性和旋转不变性;(2)实现图像频域滤波,加深对频域图像增强的理解;(3)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。
2. 实验环境Windws2000/XP3. 开发工具(1)MATLAB 6.x(2)Visual C++、Visual Basic 或其它4. 实验内容及步骤(1)产生如图3.1所示图像),(1y x f (128×128大小,暗处=0,亮处=255),用MATLAB 中的fft2函数对其进行FFT :源程序:clca=zeros(128,128)for y=54:74for x=34:94a(x,y)=1;endendfigure(1)a1=fft2(a);subplot(1,2,1);imshow(a);subplot(1,2,2);a2=abs(a1);mesh(a2);for x=1:128for y=1:128b(x,y)=(-1).^(x+y).*a(x,y);endendfigure(2)b1=fft2(b);subplot(1,2,1);imshow(b);subplot(1,2,2);b2=abs(b1);mesh(b2);figure(3)t=imrotate(a,315,'nearest','crop')t1=fft2(t);subplot(1,2,1);imshow(t);subplot(1,2,2);t2=abs(t1);surf(t2);① 同屏显示原图1f 和)(FFT 1f 的幅度谱图;图1.1② 若令),()1(),(12y x f y x f y x +-=,重复以上过程,比较二者幅度谱的异同,简述理由;图1.2③若将),(2y x f 顺时针旋转45度得到),(3y x f ,试显示)(FFT 3f 的幅度谱,并与)(FFT 2f 的幅度谱进行比较。
图像的傅立叶变换与频域滤波

实验四 图像的傅立叶变换与频域滤波一、 实验目的1了解图像变换的意义和手段;2熟悉傅里叶变换的基本性质;3熟练掌握FFT 方法的应用;4通过实验了解二维频谱的分布特点;5通过本实验掌握利用MATLAB 编程实现数字图像的傅立叶变换。
6、掌握怎样利用傅立叶变换进行频域滤波7、掌握频域滤波的概念及方法8、熟练掌握频域空间的各类滤波器9、利用MATLAB 程序进行频域滤波二、 实验原理1应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2傅立叶(Fourier )变换的定义对于二维信号,二维Fourier 变换定义为 :⎰⎰∞∞-+-==dxdy e y x f v u F y x f F vy ux j )(2),(),()},({π二维离散傅立叶变换为:∑∑-=+--==10)(2101),(),(N y N y u M x u j M x MN e y x f v u F π图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。
实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
3利用MATLAB 软件实现数字图像傅立叶变换的程序:I=imread(‘原图像名.gif’); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2);%计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;%归一化figure; %设定窗口imshow(A); %显示原图像的频谱域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和高通滤波器。
数字图像处理空间域滤波实验报告

一.实验目的1.掌握图像滤波的基本定义及目的;2.理解空间域滤波的基本原理及方法;3.掌握进行图像的空域滤波的方法。
4.掌握傅立叶变换及逆变换的基本原理方法;5.理解频域滤波的基本原理及方法;6.掌握进行图像的频域滤波的方法。
二.实验结果与分析1.平滑空间滤波:a)读出eight.tif这幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中;(提示:imnoise)b)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示;(提示:fspecial、imfilter或filter2)c)使用函数imfilter时,分别采用不同的填充方法(或边界选项,如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像采用不同的填充方式,效果略有不同。
d)运用for循环,将加有椒盐噪声的图像进行10次,20次均值滤波,查看其特点,显示均值处理后的图像;(提示:利用fspecial 函数的’average’类型生成均值滤波器)e)对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。
(提示:medfilt2)中值滤波后的图像比均值滤波后的图像更加平滑。
f)自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像;滤波后图像变得平滑。
2.锐化空间滤波a)读出blurry_moon.tif这幅图像,采用3×3的拉普拉斯算子w =[ 1, 1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波;观察原图与拉普拉斯掩模滤波后的图像,滤波后的图像不再那么平滑,使图像产生锐化效果。
b)编写函数w = genlaplacian(n),自动产生任一奇数尺寸n的拉普拉斯算子,如5×5的拉普拉斯算子w = [ 1 1 1 1 11 1 1 1 11 1 -24 1 11 1 1 1 11 1 1 1 1]本函数见文件夹下genlaplacian.m文件。
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 提供的低通滤波器实现图像信号的滤波运算,并与空间滤波进行比较。
数字图像处理_图像的频域变换处理

图像的频域变换处理1 实验目的 1. 掌握Fourier ,DCT 和Radon 变换与反变换的原理及算法实现,并初步理解Fourier 、Radon和DCT 变换的物理意义。
2、 利用傅里叶变换、离散余弦变换等处理图像,理解图像变换系数的特点。
3、 掌握图像的频谱分析方法。
4、 掌握图像频域压缩的方法。
5、 掌握二维数字滤波器处理图像的方法。
2 实验原理1、傅里叶变换 fft2函数:F=fft2(A);fftshift 函数:F1=fftshift(F);ifft2函数:M=ifft2(F);2、离散余弦变换:dct2函数 :F=dct2(f2);idct2函数:M=idct2(F);3、 小波变换对静态二维数字图像,可先对其进行若干次二维DWT 变换, 将图像信息分解为高频成分H 、V 和D 和低频成分A 。
对低频部分A ,由于它对压缩的结果影响很大,因此可采用无损编码方法, 如Huffman 、 DPCM 等;对H 、V 和D 部分,可对不同的层次采用不同策略的向量量化编码方法,这样便可大大减少数据量,而图像的解码过程刚好相反。
(1)dwt2[CA,CH,CV,CD]=dwt2(X,’wname’)[CA,CH,CV,CD]=dwt2(X,LO_D,HI_D’)()()⎰⎥⎦⎤⎢⎣⎡-ψ=dt a b t t Rf a 1b ,a W *()⎪⎭⎫ ⎝⎛-ψ=ψa b t a 1t b ,a 112()00(,)[(,)](,)ux vy M N j M N x y f x y eF f x y F u v π---+====∑∑1100(21)(21)(,)(,)()()cos cos 22M N x y x u y v F u v f x y C u C v M Nππ--==++=∑∑CA 图像分解的近似分量,CH 水平分量,CV 垂直分量,CD 细节分量; dwt2(X,’wname ’) 使用小波基wname 对X 进行小波分解。
数字图像处理图像变换实验报告

实验报告实验名称:图像处理姓名:刘强班级:电信1102学号:1404110128实验一图像变换实验——图像点运算、几何变换及正交变换一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、学习使用“数字图像处理实验教学软件系统”,能够进行图像处理方面的简单操作;2、熟悉图像点运算、几何变换及正交变换的基本原理,了解编程实现的具体步骤;3、观察图像的灰度直方图,明确直方图的作用与意义;4、观察图像点运算与几何变换的结果,比较不同参数条件下的变换效果;5、观察图像正交变换的结果,明确图像的空间频率分布情况。
三、实验原理1、图像灰度直方图、点运算与几何变换的基本原理及编程实现步骤图像灰度直方图就是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度分布情况,为图像的相关处理操作提供了基本信息。
图像点运算就是一种简单而重要的处理技术,它能让用户改变图像数据占据的灰度范围。
点运算可以瞧作就是“从象素到象素”的复制操作,而这种复制操作就是通过灰度变换函数实现的。
如果输入图像为A(x,y),输出图像为B(x,y),则点运算可以表示为:B(x,y)=f[A(x,y)]其中f(x)被称为灰度变换(Gray Scale Transformation,GST)函数,它描述了输入灰度值与输出灰度值之间的转换关系。
一旦灰度变换函数确定,该点运算就完全确定下来了。
另外,点运算处理将改变图像的灰度直方图分布。
点运算又被称为对比度增强、对比度拉伸或灰度变换。
点运算一般包括灰度的线性变换、阈值变换、窗口变换、灰度拉伸与均衡等。
图像几何变换就是图像的一种基本变换,通常包括图像镜像变换、图像转置、图像平移、图像缩放与图像旋转等,其理论基础主要就是一些矩阵运算,详细原理可以参考有关书籍。
实验系统提供了图像灰度直方图、点运算与几何变换相关内容的文字说明,用户在操作过程中可以参考。
下面以图像点运算中的阈值变换为例给出编程实现的程序流程图,如下:2、图像正交变换的基本原理及编程实现步骤数字图像的处理方法主要有空域法与频域法,点运算与几何变换属于空域法。
数字图像处理图像变换与频域处理

南京信息工程大学 计算机图像处理 实验(实习)报告 实验(实习)名称 图像变换与频域处理 实验(实习)日期 得分 指导老师 系 专业 班级 姓名 学号一、 实验目的1.了解离散傅里叶变换的基本性质;2.熟练掌握图像傅里叶变换的方法及应用;3.通过实验了解二维频谱的分布特点;4.熟悉图像频域处理的意义和手段;5.通过本实验掌握利用MATLAB 的工具箱实现数字图像的频域处理。
二、 实验原理(一)傅立叶变换傅立叶变换是数字图像处理中应用最广的一种变换,其中图像增强、图像复原 和图像分析与描述等,每一类处理方法都要用到图像变换,尤其是图像的傅立 叶变换。
离散傅立叶(Fourier )变换的定义:二维离散傅立叶变换(DFT )为:逆变换为:式中,在DFT 变换对中, 称为离散信号 的频谱,而 称为幅度谱, 为相位角,功率谱为频谱的平方,它们之间的关系为:图像的傅立叶变换有快速算法。
(二)图像的频域增强常用的图像增强技术可分为基于空域和基于变换域的两类方法。
最常用的变换域是频域空间。
在频域空间,图像的信息表现为不同频率分量的组合。
如果能让某个范围内的分量或某些频率的分量受到抑制而让其他分量不受影响,就可以改变输出图像的频率分布,达到不同的增强目的。
频域增强的工作流程:频域空间的增强方法对应的三个步骤:(1) 将图像f(x,y)从图像空间转换到频域空间,得到F(u,v);(2) 在频域空间中通过不同的滤波函数H(u,v)对图像进行不同的增强,得到G(u,v)(注:不同的滤波器滤除的频率和保留的频率不同,因而可获得不同的增强效果);(3) 将增强后的图像再从频域空间转换到图像空间,得到图像g(x,y)。
),(v u F ),(v u G ),(y x f ∑∑-=-=+-=1010)(2exp ),(1),(M x N y N vy M ux j y x f MN v u F π∑∑-=-=+=101)(2exp ),(1),(M u N v N vy M ux j v u F MN y x f π}1,,1,0{,-∈M x u }1,,1,0{,-∈N y v ),(v u F ),(y x f ),(v u F ),(v u ϕ),(),()],(exp[),(),(v u jI v u R v u j v u F v u F +==ϕ1.低通滤波图像中的边缘和噪声都对应图像傅立叶变换中的高频部分,如要在频域中消弱其影响,设法减弱这部分频率的分量。
数字图像实验报告 医学图像频域滤波

实验8 医学图像频域滤波与图像复原实验目的:1.熟悉医学图像离散傅里叶变化的原理和方法;2.掌握医学图像频域滤波的原理;3.掌握使用Matlab中的函数实现医学图像进行频域滤波的方法;4.掌握使用Matlab中的图像退化与复原的方法;实验内容:一、医学图像频域滤波方法与实现使用imnoise给图像BMRI1_24bit.bmp添加概率为0.2的椒盐噪声,对原图像和加噪声后的图像进行傅氏变换并显示变换后的移中频谱图,然后分别使用Butterworth低、高通滤波器对噪声图像进行低通和高通滤波,显示D0为5,10,20,40时的滤波效果图,并说明存两种滤波效果中所存在的差异及原因。
f=imread('BMRI1_24bit.bmp');g=imnoise(f,'salt & pepper',0.2);Tf=graythresh(f);Tg=graythresh(g);f1=im2bw(f,Tf) ;g1=im2bw(g,Tg);imshow(f1),title '原图二值化' ;figure,imshow(g1),title '噪声图像二值化';>> fft2f=fft2(f1);>> fft2g=fft2(g1);>> imshow(abs(fft2f)),title '原频谱图';figure,imshow(fft2g),title '噪音频谱图' ;shiftf=fftshift(fft2f);>> shiftg=fftshift(fft2g);imshow(abs(shiftf),[]),title '原居中';figure,imshow(abs(shiftg),[]),title '噪音居中';>> logf=log(1+abs(shiftf));>> logg=log(1+abs(shiftg));imshow(logf,[]),title 'log变换'; figure,imshow(logg,[]),title 'zao yin log';f=imread('BMRI1_24bit.bmp');g=imnoise(f,'salt & pepper',0.2);BLPF(g);D0=5 和D0=10D0=20和D0=40GLPF(g);D0=5和D0=10 D0=20和D0=40图像从空间域变换到频率域后,其低频分量对应图像中灰度值变化比较缓慢的区域,高频分量则表征图像中物体的边缘和随机噪声等信息。
数字图像处理技术-图像增强--空域、频域滤波

实验五图像增强--空域、频域滤波课程名称:数字图像处理技术实验日期:2015-11-03 成绩:班级:姓名:学号:一、实验目的1.了解图像空域滤波、频域滤波的基本操作;2.掌握噪声模拟和图像滤波函数的使用方法3. 实现彩色图像的增强。
二、实验内容1. (基础题)制作自己的GUI用户界面,实现图像在空域中的均值滤波、中值滤波、锐化滤波;(提高题)定义自己的过滤器实现锐化滤波。
2. (基础题)在GUI中,实现图像的频域滤波:低通滤波、高通滤波。
3. (基础题)在GUI中,实现彩色图像增强:伪彩色增强、假彩色增强、真彩色增强。
三、实验代码function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)clear;figureA=imread('1.jpg');B=rgb2gray(A);h1=ones(7,7)/49;B2=imfilter(B,h1);h2=ones(9,9)/81;B3=imfilter(B,h2);subplot(2,2,1);imshow(B);title('灰度图像');subplot(2,2,3);imshow(B2);title('7*7均值滤波');subplot(2,2,4);imshow(B3);title('9*9均值滤波');% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)clear;figureA=imread('1.jpg');B=rgb2gray(A);B2=medfilt2(B,[5 5]);B3=medfilt2(B,[9 9]);subplot(2,2,1);imshow(B);title('灰度图像');subplot(2,2,3);imshow(B2);title('5*5中值滤波');subplot(2,2,4);imshow(B3);title('9*9中值滤波');% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureA=imread('1.jpg');B=rgb2gray(A);h1=[1 2 1;0 0 0;-1 -2 -1];B2=imfilter(B,h1);h2=[1 0 -1;2 0 -2;1 0 -1];B3=imfilter(B,h2);subplot(2,2,1);imshow(B);title('灰度图像');subplot(2,2,3);imshow(B2);title('水平锐化');subplot(2,2,4);imshow(B3);title('竖直锐化');% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureA=imread('1.jpg');f=rgb2gray(A);subplot(2,2,1);imshow(f);f=im2double(f);F=fftshift(fft2(f));[M,N]=size(F);n = 30;D0 = 40;u0=floor(M/2);v0=floor(N/2);for u=1:Mfor v=1:ND=sqrt((u-u0)^2+(v-v0)^2);H=1/(1+(D/D0)^(2*n));G(u,v)=H*F(u,v);endendg=ifft2(ifftshift(G));g=im2uint8(real(g));subplot(2,2,4);imshow(g);% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureA=imread('1.jpg');f=rgb2gray(A);subplot(2,2,1);imshow(f);f=im2double(f);F=fftshift(fft2(f));[M,N]=size(F);n = 30;D0 = 40;u0=floor(M/2);v0=floor(N/2);for u=1:Mfor v=1:ND=sqrt((u-u0)^2+(v-v0)^2);H=1/(1+(D0/D)^(2*n));G(u,v)=H*F(u,v);endendg=ifft2(ifftshift(G));g=im2uint8(real(g));subplot(2,2,4);imshow(g);% --- Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureA=imread('1.jpg');B=rgb2gray(A);subplot(1,2,1);imshow(B);title('灰度图像');Y=floor(B/64);[M,N]=size(Y);for i=1:Mfor j=1:Nswitch Y(i,j)case 0Y1(i,j,1:3)=[0 0 255];case 1Y1(i,j,1:3)=[200 0 200];case 2Y1(i,j,1:3)=[255 150 0];case 3Y1(i,j,1:3)=[255 255 0];otherwiseY1(i,j,1:3)=[255 255 255];endendendsubplot(1,2,2);imshow(Y1);% --- Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureA=imread('1.jpg');f=rgb2gray(A);subplot(1,2,1);imshow(f);title('灰度图像');[M,N]=size(f);L=255;f=double(f);f1=floor(f/64);R=f1;G=f1;B=f1;for i=1:Mfor j=1:Nswitch f1(i,j)case 0R(i,j)=0;G(i,j)=4*f(i,j);B(i,j)=L;case 1R(i,j)=0;G(i,j)=L;B(i,j)=-4*f(i,j)+2*L;case 2R(i,j)=4*f(i,j)-2*L;G(i,j)=L;B(i,j)=0;case 3R(i,j)=L;G(i,j)=-4*f(i,j)+4*L;B(i,j)=0;endendendg(:,:,1)=R;g(:,:,2)=G;g(:,:,3)=B;g=uint8(g);subplot(1,2,2);imshow(g);% --- Executes on button press in pushbutton8.function pushbutton8_Callback(hObject, eventdata, handles)% hObject handle to pushbutton8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear;figureRGB=imread('1.jpg');RGB = im2double(RGB);R = RGB(:, :, 1);G = RGB(:, :, 2);B = RGB(:, :, 3);subplot(1,2,1),imshow(RGB)title('原始图像');c=R.*1.26d=G.*1.03e=B.*1.15enhance=cat(3, c, d, e);subplot(1,2,2),imshow(enhance)title('RGB手动增强的图像')四、实验结果截图五、实验体会经过很长时间学会应用这些东西。
数字图像处理实验

数字图像处理实验实验总学时: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.载入图像’cameraman.tif’,加入椒盐噪声,编程设计一阶巴特沃斯低通滤波器,改变滤波器的参数,观察并比较滤波效果。
close all;clear all;I1=imread('pout.tif');subplot(2,3,1),imshow(I1);title('原始图像')I2=imnoise(I1,'salt & pepper');subplot(2,3,2)imshow(I2);title('加噪图像');f=double(I2);g=fft2(f);g=fftshift(g);[N1,N2]=size(g);n=1;d0=5;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+0.414*(d/d0)^(2*n));result(i,j)=h*g(i,j);endendresult=ifftshift(result);X2=ifft2(result);X3=uint8(real(X2));subplot(2,3,3),imshow(X3);title('Butterworth 低通滤波器,d0=5');d0=11;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+0.414*(d/d0)^(2*n));result(i,j)=h*g(i,j);endendresult=ifftshift(result);X2=ifft2(result);X3=uint8(real(X2));subplot(2,3,4),imshow(X3);title('d0=11');d0=25n1=fix(N1/2);n2=fix(N2/2);for i=1:N1for j=1:N2d=sqrt((i-n1)^2+(j-n2)^2);h=1/(1+0.414*(d/d0)^(2*n));result(i,j)=h*g(i,j);endendresult=ifftshift(result);X2=ifft2(result);X3=uint8(real(X2));subplot(2,3,5),imshow(X3);title('d0=25');d0=50n1=fix(N1/2);n2=fix(N2/2);for i=1:N1for j=1:N2d=sqrt((i-n1)^2+(j-n2)^2);h=1/(1+0.414*(d/d0)^(2*n));result(i,j)=h*g(i,j);endendresult=ifftshift(result);X2=ifft2(result);X3=uint8(real(X2));subplot(2,3,6),imshow(X3);title('d0=50');由图可知,由于对噪声模型的估计不准确,使用巴特沃斯滤波器在平滑了噪声的同时,也使图像模糊了,随着截断频率的增加,图像的模糊程度减小,滤除噪声的效果也越来越差。
数字图像处理实验-滤波

实验三1.实验目的:(1)对指定图像进行均值、中值滤波增强,比较增强的效果;(2)对图片进行噪声处理,进行图像恢复;2.实验内容:对指定图像进行均值、中值滤波增强,比较增强的效果。
图1是一张原始人物图像,图2是一张近似20%像素带有冲激噪声后的人物图像。
现分别利用①5×5区域的邻域平均法和②5×5中值滤波法对图2进行去噪声处理,进行图像恢复。
将原始图像及增强后的图像都显示于屏幕上,观察两种方法对去噪的不同作用。
图1图23.实验结果(代码&结果可视化)1、利用已有的图像处理应用软件集成环境编写相应的平滑程序。
5×5邻域平均法:邻域平均是最简单的平滑滤波,即是将原图的一个像素的灰度值和它周围邻近的24个像素的灰度值相加,然后求得的平均值作为新图该像素的灰度值。
具体算法类似与图像锐化。
5×5中值滤波法:采用滑动窗口法设窗口为5×5 的矩形,该窗口在被处理的图像上逐点移动内含25个像素,每次移动均计算一次中值,赋给窗口中间点,作为其灰度,具体算法类似邻域平均。
2、核心程序:邻域平均核心算法类似梯度锐化,本报告只给出中值滤波的核心程序:// 开始中值滤波// 行(除去边缘几行)for(i = iFilterMY; i < lHeight - iFilterH + iFilterMY + 1; i++){// 列(除去边缘几列)for(j = iFilterMX; j < lWidth - iFilterW + iFilterMX + 1; j++){// 指向新DIB第i行第j个像素的指针lpDst = (unsigned char*)lpNewDIBBits + lLineBytes * (lHeight - 1 - i) + j;// 读取滤波器数组for (k = 0; k < iFilterH; k++){for (l = 0; l < iFilterW; l++){lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i + iFilterMY - k) + j - iFilterMX + l;// 保存像素值aValue[k * iFilterW + l] = *lpSrc;}}// 获取中值* lpDst = GetMedianNum(aValue, iFilterH * iFilterW);}}4.实验分析和总结采用滤波器(低频/高频)处理后的图像可以更加平滑,可以对图像去除噪音,恢复到原始图像。
数字图像处理之频域滤波

实验结果
程序清单
clear; clc; N=64; f=imread('fu.jpg'); f=rgb2gray(f); %对水印缩放 f=double(imresize(f,[N,N])); %水印二值化 for i=1:N for j=1:N if f(i,j)<250 f(i,j)=0; end end end subplot(221); imshow(f); %title('水印图像'); title('原始图像')
频域滤波matlab频域滤波图像频域频域分析频域信号频域处理时域频域时域和频域复频ab自带的函数FFT2和IFFT2完成实验 • FFT2 Two-dimensional discrete Fourier Transform. • FFT2(X) returns the two-dimensional Fourier transform of matrix X. If X is a vector, the result will have the same orientation. • IFFT2 Two-dimensional inverse discrete Fourier transform. • IFFT2(F) returns the two-dimensional inverse Fourier transform of matrix F. If F is a vector, the result will have the same orientation.
程序清单
clear; clc; f=zeros(512,512); f(226:286,230:276)=1; subplot(221); imshow(f,[]); title('原始图像') F=fft2(f); %对图像进行快速傅里叶变换 S=abs(F); subplot(222) imshow(S,[]) %显示幅度谱 title('幅度谱(四角)') Fc=fftshift(F); %把频谱坐标原点由左上角移至屏幕中央 subplot(223) Fd=abs(Fc); imshow(Fd,[]) ratio=max(Fd(:))/min(Fd(:)) %ratio = 2.3306e+007,动态范围太大,显示器无法正常显示 title('幅度谱(中央)')
数字图像处理实验(MATLAB版)

数字图像处理实验(MATLAB版)数字图像处理(MATLAB版)实验指导书(试用版)湖北师范学院教育信息与技术学院2009年4月试行目录实验一、数字图像获取和格式转换 2 实验二、图像亮度变换和空间滤波 6 实验三、频域处理7 实验四、图像复原9 实验五、彩色图像处理101实验六、图像压缩11 实验七、图像分割13 教材与参考文献142《数字图像处理》实验指导书实验一、数字图像获取和格式转换一、实验目的1掌握使用扫描仪、数码相机、数码摄像级机、电脑摄像头等数字化设备以及计算机获取数字图像的方法;2修改图像的存储格式;并比较不同压缩格式图像的数据量的大小。
二、实验原理数字图像获取设备的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。
各类设备都标明了它的光学分辨率和最大分辨率。
分辨率的单位是dpi,dpi是英文Dot Per Inch的缩写,意思是每英寸的像素点数。
扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者图纸照片;然后启3动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。
为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD 上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。
至此,反映原稿图像的光信号转变为计算机能够接受的二进制数字电子信号,最后通过串行或者并行等接口送至计算机。
扫描仪每扫一行就得到原稿x方向一行的图像信息,随着沿y方向的移动,在计算机内部逐步形成原稿的全图。
扫描仪工作原理见图1.1。
4图1.1扫描仪的工作原理在扫描仪的工作过程中,有两个元件起到了关键的作用。
一个是CCD,它将光信号转换成为电信号;另一个是A/D变换器,它将模拟电信号变为数字电信号。
数字图像处理实验报告

数字图像处理实验报告重庆邮电⼤学《数字图像处理》课程上机实验学院⽣物信息学院专业⽣物医学⼯程班级 0611302姓名李霞学号 2013211957实验⼀MATLAB数字图像处理初步⼀、实验⽬的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利⽤MATLAB来获取图像的⼤⼩、颜⾊、⾼度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储⼀幅图像的⽅法。
5.图像间如何转化。
⼆、实验原理及知识点1、数字图像的表⽰和类别⼀幅图像可以被定义为⼀个⼆维函数f(x,y),其中x和y是空间(平⾯)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是⽤来表⽰⿊⽩图像亮度的⼀个术语,⽽彩⾊图像是由单个⼆维图像组合形成的。
例如,在RGB彩⾊系统中,⼀幅彩⾊图像是由三幅独⽴的分量图像(红、绿、蓝)组成的。
因此,许多为⿊⽩图像处理开发的技术适⽤于彩⾊图像处理,⽅法是分别处理三副独⽴的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的⼀幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所⽰。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本⾝⼗分适于表达图像,矩阵的元素和图像的像素之间有着⼗分⾃然的对应关系。
根据图像数据矩阵解释⽅法的不同,MA TLAB把其处理为4类:亮度图像(Intensity images)⼆值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像⼀幅亮度图像是⼀个数据矩阵,其归⼀化的取值表⽰亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double类,则像素取值就是浮点数。
数字图像处理--频率域滤波基础 ppt课件

布特沃斯低通滤波器举例
原始图
D0=10的BLPF滤波
D0=30的BLPF滤波
D0=60的BLPF滤波
D0=160的BLPF滤波
D0=460的BLPF滤波
PPT课件
26
布特沃斯低通滤波器举例——振铃现象
阶数n=1 无振铃和负值
阶数n=2轻微 振铃和负值
阶数n=5明显 振铃和负值
阶数n=20 与ILPF相似
离如下
22
1
D(u, v)
(u
P 2
)2
(v
Q 2
)2
2
(4.8 2)
PPT课件
18
理想低通滤波器
说明:在半径为D0的圆内,所有频率没有衰减地通过滤 波器,而在此半径的圆之外的所有频率完全被衰减掉
PPT课件
19
理想低通滤波器
总图像功率值PT 其中:
P1 Q1
PT P(u, v) (4.8 3) u0 v0
对比空间域滤波:在M×N的图像f上,用m×n的滤波器进行线 ab
性滤波 g(x, y) w(s,t) f (x s, y t) (3.4 1)
sa tb
(4.6-23)和(3.4-1)本质上是相似的;相差之处只在于:常数、
负号及求和的上、下限;
在实践中,我们宁愿使用(3.4-1)和较小的滤波器模板来实现滤波
第4章 频率域滤波基础
PPT课件
1
4.7.1、频率域的其他特性:
M1 N 1
i 2 ( ux vy )
F(u, v)
f ( x, y)e M N
x0 y0
①变化最慢的频率成分(u=v=0)对应一幅图像的平均灰度级
MATLAB图像格式转换,滤波及频域变换

数字图像处理上机实验1、实验目的了解matlab软件/语言,学会使用matlab的图像处理工具箱(Image Processing Toolbox),使学生初步具备使用该软件处理图像信息的能力,并能够利用该软件完成本课程规定的其他实验和作业。
熟悉常用的图像文件格式与格式转换;熟悉图像矩阵的显示方法(灰度、索引、黑白、彩色);熟悉图像矩阵的格式转换。
,学会使用MatLab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。
了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力.2、实验要求学生应当基本掌握matlab的操作,掌握matlab图像处理工具箱中最常用的函数用法。
练习图像读写命令imread和imwrite并进行图像文件格式之间的转换。
学生应当完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。
3、实验内容及步骤1、图像的显示与格式转换(1)学习matlab的基本操作;(2)使用imread函数读入图像;(3)使用figure函数创建窗口;(4)使用image或imshow函数显示图像;(5)使用colorbar函数在图像的右侧显示图像的亮度条。
2、图像的滤波(1) 考察平均滤波器对高斯噪声污染的图象去噪效果;(2) 考察中值滤波器对高斯噪声污染的图象去噪效果;(3) 考察平均滤波器对椒盐噪声污染的图象去噪效果;(4) 考察中值滤波器对椒盐噪声污染的图象去噪效果。
(5) 考察滤波器模板大小对平均滤波器滤波效果的影响;(6) 考察滤波器模板大小对中值滤波器滤波效果的影响;3、图像的频域变换在Matlab workspace中生成一幅大小为256×256像素的8位灰度图, 背景为黑色,中心有一个宽80像素高40像素的白色矩形。
对其做傅立叶变换,将该图像做30度旋转,再做傅立叶变换,查看两次频谱结果的差异。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 图像变换及频域滤波1.一.实验目的(1)编写快速傅里叶变换算法程序,验证二维傅里叶变换的平移性和旋转不变。
; (2)实现图像频域滤波,加深对频域图像增强的理解。
二.实验环境及开发工具Windws XP 、MATALAB7.0、Visual C++、Visual Basic 三.实验方法1.验证二维傅里叶变换的平移性和旋转不变性;a .要验证证其平移特性,就先建立一个二维图象,然后再对其平移,通过观察两者的频谱图来观察平移特性,为了方便起见,我们选择特殊情况来分析,令u0=v0=N/2,使),()1(),(12y x f y x f y x +-= F(u-N/2,v-N/2),达到将原始F(U,V)四周频谱移到中心的效果,及达到频谱中心化。
b .验证旋转不变性可以通过将原始数组的通过移动45度,然后再比较旋转后与旋转前的频谱,得出频谱旋转不变性的结论。
具体步骤:1)产生如图1所示图像),(1y x f (128×128大小,暗处=0,亮处=255) 2)同屏显示原图1f 和)(FFT 1f 的幅度谱图。
3)若令),()1(),(12y x f y x f y x +-=,重复以上过程,比较二者幅度谱的异同。
4)将),(2y x f 顺时针旋转45度得到),(3y x f ,显示)(FFT 3f 的幅度谱,并与)(FFT 2f 的幅度谱进行比较。
图1实验图象f 1(x , y )2.实现图像频域滤波,加深对频域图像增强的理解。
频率域中进行增强是相当直观的,主要步骤有:1)计算需要增强的图象的傅立叶变换;2)将其与一个(根据需要设计的)转移的函数相乘; 3)再将结果反傅立叶变换以得到增强的图象. 为了直观的展示频域增强,可以通过下面任务来展现:对如图2所示的数字图像lena.img (256×256大小、256级灰度)进行频域的理想低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。
四.实验分析1.验证二维傅里叶变换的平移性和旋转不变性 1)建立一个二维数组并要求该数组能够显示成图1.a=zeros(128,128) for y=54:74 for x=34:94 a(x,y)=1; end end然后再用显示图象的函数显示即可, 在此我们用imshow(a)语句。
为了得到幅度谱图,可以地数组a 进行快速傅立叶变换,然后再用图2 实验图象lena.imgMesh语句便可得到其幅度谱.2)观察其平移特性。
根据实验方法中的分析,构造一个新的数组存入平移后的原数组,通过在嵌套中加入语句b(x,y)=(-1).^(x+y).*a(x,y);即可,然后再用类似上面的方法画出图象和幅度谱.3)验证其旋转不变性。
首先将所得图画旋转45度,这需要通过将数组先相应的旋转,这个旋转有两种方式:(1)根据旋转后的图象算出旋转后的数组形式,通过点与点之间的变换来实现,需要分区间来画图和构建新的数组.然后用imshow来显示.(2)直接用IMROTATE(A,ANGLE,METHOD)语句,其中A表示数组,ANGLE表示旋转角度,METHOD表示旋转方向.我们令t=imrotate(a,315,'nearest','crop')令可将数组a逆时针旋转135度,即相当于顺时针旋转45度。
然后比较旋转前后两幅图的差别以及其频率谱和幅度谱的异同。
最后可以得结论。
2.实现图像频域滤波1)读出图片,并生成图片的数组.首先要将lena.img与MATLAB程序文档放在一个目录下面,然后再用语句a=fopen('lena.img','r');b=fread(a,[256,256],'uchar');打开图片并获得组成该图片的数组.然后用imshow(b),便可得到lena的人头图片.其次与上面任务一样,对图片数组进行快速傅立叶变换,然后用mesh()语句画出他的幅度谱图,2)进行频域增强的低通滤波部分。
频域法的过程是:f(x,y)→正变换----F(u,v)---→修正H(u,v)---G(u,v)---→反变换→g(x,y).理想低通滤波的转移函数需满足以下条件:H(u,v) H(u,v)=1; 当D(u,v)<=Do时;H(u,v)=0; 当D(u,v)> Do时;其中Do是一个非负整数, D(u,v)是反映点(u,v)到频率平面原点的距离。
当小于Do的频率可以完全不受影响的通过滤波器,而大于Do的则完全不能通过滤波器,该Do可以形象的表示成截断频率。
在低通滤波时,分别令Do等于88,24,11,5时,可得到低通滤波后的结果图象,通过观察其图象与幅度谱图来理解低通滤波的特性.3)进行频域增强的高通滤波部分。
一个2---D理想高通滤波器的转移函数满足下列条件H(u,v) H(u,v)=0; 当D(u,v)<=Do时;H(u,v)=1; 当D(u,v)> Do时;所得到的结果恰好与低通滤波相反, 当大于Do的频率可以完全不受影响的通过滤波器,而小于Do的则完全不能通过滤波器。
在高通滤波时,分别令Do等于2,8,24时,分别得到高通滤波后的结果图像,通过观察其图象与幅度谱图来理解高通滤波的特性。
关于此部分主要的函数语句是:(1) m=abs(b);m0=15*log(m+1.001);surf(m0);求出数组之后将其进行fft2得到m,然后求出其绝对值,为了避免其数值过大,求其对数,且为了避免出现0和1的情况,可以在m的基础上加上1.001,最后用surf()函数显示出3----D效果.(2) r=24;for x=1:256for y=1:256if (x-128).^2+(y-128).^2<r.^2;t(x,y)=0;endendend通过对r 数值的改变,和if 条件的变化来实现不同的低通和高通情况下的滤波. 五.实验结果及结论1.验证二维傅里叶变换的平移性和旋转不变性;1.1 产生的图像),(1y x f 与fft2(f1)幅度谱的程序如下:Clc;a=zeros(128,128) for y=54:74 for x=34:94 a(x,y)=1; end end figure(1) a1=fft2(a); subplot(1,2,1); imshow(a); subplot(1,2,2); a2=abs(a1); mesh(a2); for x=1:128 for y=1:128b(x,y)=(-1).^(x+y).*a(x,y); end end figure(2) b1=fft2(b); subplot(1,2,1); imshow(b);subplot(1,2,2); b2=abs(b1); mesh(b2); figure(3)t=imrotate(a,315,'nearest','crop') t1=fft2(t); subplot(1,2,1); imshow(t); subplot(1,2,2); t2=abs(t1); surf(t2);结果如图1.2 令),()1(),(12y x f y x f y x +-=,则图像2f 与)(FFT 2f 的幅度谱图如下:结果分析:对比两图可以得到,1.2得的图就是将1.1得的图的频谱往中心移.即称为频谱中心化,将能量集中的4个角往中心靠拢。
1.3若将f2(x,y)顺时针旋转45°得到),(3y x f ,则3f 及)(FFT 3f 的幅度谱图如下结果分析:将1.3得的图与1.1得的图比较可知,将原图移动旋转45度以后,幅度谱图仍然没的改变,图象能量依然集中在4个角。
2.实现图像频域滤波2.1 对数字图像lena.img 进行频域的理想低通,同屏显示原图、幅度谱图和低通滤波的结果图。
其中,取理想低通滤波的半径R分别为88、24、11和5。
程序代码如下(取r=8时)Clc;a=fopen('D:\图像实验 \img\lena.img','r');b=fread(a,[256,256],'uchar');fclose(a);figure(1)subplot(1,2,1)imshow(b,[0,255]);b=fft2(b)m=abs(b);subplot(1,2,2)m0=15*log(m+1.001)surf(m)q=b;t=fftshift(q)r=8;for x=1:256for y=1:256if (x-128).^2+(y-128).^2>r.^2;t(x,y)=0;endendendh2=abs(t);h02=15*log(1.001+h2)figure(2)imshow(h02,[0,255]);t=ifftshift(t);z=ifft2(t);figure(3);subplot(1,2,1)imshow(z,[0,255]);n=fft2(z);subplot(1,2,2);n=15*log(1.001+abs(n));surf(n);结果如下:原图像及其频谱图R=88时的理想低通滤波结果图和滤波频谱图R R=24时的理想低通滤波结果图和滤波幅度谱图R=11时的理想低通滤波结果图和滤波频谱图R=5时的理想低通滤波结果图和滤波频谱图当 R=5 时,滤波后的图像很模糊,无法分辨;当 R=11 时,滤波后的图像比较模糊,但基本能分辨出人脸的形状;当 R=24 时,滤波后的图像有些模糊,能分辨出脸上的器官轮廓,但由于理想低通滤波器在频域的锐截止特性,滤波后的图像有较明显的振铃现象;当 R=88 时,滤波后的图像比较清晰,但高频分量损失后,图像边沿与文字变的有些模糊,在图像的边框附近仍有振铃现象。
2.2 对数字图像lena.img 进行频域的理想高通,同屏显示原图、幅度谱图和高通滤波的结果图。
其中,取理想高通滤波的半径R 分别为2、8 和24:原图像及其频谱图R=2时的理想高通滤波结果图和滤波频谱图R=8时的理想高通滤波结果图和滤波频谱图R=24时的理想高通滤波结果图和滤波频谱图注:对理想高通滤波后的图像用直接灰度变换方法作了灰度范围的扩展。
当 R=2 时,滤波后的图像无直流分量,但灰度的变化部分基本上都保留了;当R=8时,滤波后的图像在文字和图像边缘部分的信息仍然保留;当R=24 时,滤波后的图像只剩下文字和白条边缘等信号突变的部分。
六、实验心得①、熟悉了MATLAB7.0的使用②、验证了二维傅里叶变换的平移性和旋转不变性。
③、实现了对图像的频域滤波,掌握了频域图像增强,了解了低通滤波对图像的影响。