当前位置:文档之家› 实验三、四 数字图像的空间域滤波和频域滤波

实验三、四 数字图像的空间域滤波和频域滤波

实验三、四 数字图像的空间域滤波和频域滤波
实验三、四 数字图像的空间域滤波和频域滤波

实验三、四数字图像的空间域滤波和频域滤波

1.实验目的

1.掌握图像滤波的基本定义及目的。

2.理解空间域滤波的基本原理及方法。

3.掌握进行图像的空域滤波的方法。

4.掌握傅立叶变换及逆变换的基本原理方法。

5.理解频域滤波的基本原理及方法。

6.掌握进行图像的频域滤波的方法。

2.实验基本原理

1.空间域增强

空间域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。

空域滤波一般分为线性滤波和非线性滤波两类。线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。结合这两种分类方法,可将空间滤波增强分为四类:

线性平滑滤波器(低通)

非线性平滑滤波器(低通)

线性锐化滤波器(高通)

非线性锐化滤波器(高通)

空间滤波器都是基于模板卷积,其主要工作步骤是:

1)将模板在图中移动,并将模板中心与图中某个像素位置重合;

2)将模板上的系数与模板下对应的像素相乘;

3)将所有乘积相加;

4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。

2.平滑滤波器

1)线性平滑滤波器

线性低通平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对3×3

的模板来说,最简单的是取所有系数为1,为了保持输出图像任然在原来图像的灰度值范围内,模板与象素邻域的乘积都要除以9。

MATLAB 提供了fspecial 函数生成滤波时所用的模板,并提供filter2 函数用指定的滤波器模板对图像进行运算。函数fspecial 的语法格式为:

h=fspecial(type);

h=fspecial(type,parameters);

其中参数type 指定滤波器的种类,parameters 是与滤波器种类有关的具体参数。

表2.1 MATLAB中预定义的滤波器种类

MATLAB 提供了一个函数imnoise 来给图像增添噪声,其语法格式为:

J=imnoise(I,type);

J=imnoise(I,type,parameters);

参数type 指定噪声的种类,parameters 是与噪声种类有关的具体参数。参数的种类见表2.2。

表2.2 噪声种类及参数说明

2)非线性平滑滤波器

中值滤波器是一种常用的非线性平滑滤波器,其滤波原理与均值滤波器方法类似,但计算的非加权求和,而是把领域中的图像的象素按灰度级进行排序,然后选择改组的中间值作为输出象素值。

MATLAB 提供了medfilt2 函数来实现中值滤波,其语法格式为:

B=medfilt2(A,[m n]);

B=medfilt2(A);

其中,A 是原图象,B 是中值滤波后输出的图像。[m n]指定滤波模板的大小,默认模板为3×3。

3.锐化滤波器

图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,需要利用图像锐化技术,使图像的边缘变得清晰。

1)线性锐化滤波器

线性高通滤波器是最常用的线性锐化滤波器。这种滤波器的中心系数都是正的,而周围的系数都是负的,所有的系数之和为0。

对3×3 的模板来说,典型的系数取值为:

[-1 -1 -1;

-1 8 -1;

-1 -1 -1]

事实上这是拉普拉斯算子。语句h=-fspecial(‘laplacian’,0.5)得到的拉普拉斯算子为:

h =-0.3333 -0.3333 -0.3333

-0.3333 2.6667 -0.3333

-0.3333 -0.3333 -0.3333

2)非线性锐化滤波

邻域平均可以模糊图像,因为平均对应积分,所以利用微分可以锐化图像。图像处理中最常用的微分方法是利用梯度。常用的空域非线性锐化滤波微分算子有sobel 算子、prewitt 算子、log 算子等。

4.频域增强

频域增强是利用图像变换方法将原来的图像空间中的图像以某种形式转换到其他空间中,然后利用该空间的特有性质方便地进行图像处理,最后再转换回原来的图像空间中,从而得到处理后的图像。

频域增强的主要步骤是:

选择变换方法,将输入图像变换到频域空间。

在频域空间中,根据处理目的设计一个转移函数,并进行处理。

将所得结果用反变换得到增强的图像。

常用的频域增强方法有低通滤波和高通滤波。

5.低通滤波

图像的能量大部分集中在幅度谱的低频和中频部分,而图像的边缘和噪声对应于高频部分。因此能降低高频成分幅度的滤波器就能减弱噪声的影响。由卷积定理,在频域实现低通滤波的数学表达式:

G(u,v) =H(u,v)F(u,v)

1)理想低通滤波器(ILPF)

2)巴特沃斯低通滤波器(BLPF)

3)指数型低通滤波器(ELPF)

6.高通滤波

由于图像中的细节部分与其高频分量相对应,所以高通滤波可以对图像进行锐化处理。高通滤波与低通滤波相反,它是高频分量顺利通过,使低频分量受到削弱。高通滤波器和低通滤波器相似,其转移函数分别为:

1)理想高通滤波器(IHPF)

2)巴特沃斯高通滤波器(BLPF)

3)指数型高通滤波器(ELPF)

图像经过高通滤波处理后,会丢失许多低频信息,所以图像的平滑区基本上会消失。所以,可以采用高频加强滤波来弥补。高频加强滤波就是在设计滤波传递函数时,加上一

个大于0小于1的常数c,即:

H′(u,v) =H(u,v)+c

3.实验内容与要求

1.平滑空间滤波:

1)读出eight.tif这幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。

2)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。

3)使用函数imfilter时,分别采用不同的填充方法(或边界选项,如零填

充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。

4)运用for循环,将加有椒盐噪声的图像进行10次,20次均值滤波,查看其特点,显示均值处理后的图像(提示:利用fspecial函数的’average’类型生成均值滤波器)。

5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处 理,要求在同一窗口中显示结果。

6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。 2. 锐化空间滤波

1) 读出blurry_moon.tif 这幅图像,采用3×3的拉普拉斯算子w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波。

2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n 的拉普拉斯算子,如5×5 的拉普拉斯算子

w = [ 1 1 1 1 1 1 1 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 1]

3) 分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对blurry_moon.tif 进

行锐化滤波,并利用式2

(,)(,)(,)g x y f x y f x y =-?完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。

4) 采用不同的梯度算子对blurry_moon.tif 进行锐化滤波,并比较其效果。

5) 自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处理后的图像;

3. 傅立叶变换

1) 读出woman.tif 这幅图像,对其进行快速傅立叶变换,分别显示其幅度图像和相位 图像。

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

2) 仅对幅度部分进行傅立叶反变换后查看结果图像。 3) 将图像的傅立叶变换F 置为其共轭后进行反变换,比较新生成图像与原始图像的差 异。

4. 平滑频域滤波

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

2) 读出test_pattern.tif 这幅图像,分别采用理想低通滤波器、巴特沃斯低通滤波器和高 斯低通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同低通滤波器得到的图像与原图像的区别,特别注意振铃效应。(提示:1)在频率域滤波同样要注意到填充问题;2)注意到(-1)x+y ;)

5. 锐化频域滤波

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

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

1. 实验具体实现

1.平滑空间滤波:

1)读出eight.tif这幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图

显示在同一图像窗口中。

I=imread('eight.tif');

imshow(I);

J = imnoise(I,'salt & pepper',0.05); %noise density=0.05

K= imnoise(I,'gaussian',0.01,0.01);

subplot(131),imshow(I);

subplot(132),imshow(J);

subplot(133),imshow(K);

图2.1 初始图像及椒盐噪声图像、高斯噪声污染图

2)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,

要求在同一窗口中显示。

I=imread('eight.tif');

H = fspecial('sobel');

Sobel = imfilter(I,H,'replicate');

H = fspecial('laplacian',0.4);

lap = imfilter(I,H,'replicate');

H = fspecial('gaussian',[3 3],0.5);

gaussian = imfilter(I,H,'replicate');

subplot(221),imshow(I);

subplot(222),imshow(Sobel);

subplot(223),imshow(lap);

subplot(224),imshow(gaussian);

空间域滤波器(实验报告)

数字图像处理作业 ——空间域滤波器 摘要 在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。本文利用matlab软件,采用空域滤波的方式,对图像进行平滑和锐化处理。平滑空间滤波器用于模糊处理和减小噪声,经常在图像的预处理中使用;锐化空间滤波器主要用于突出图像中的细节或者增强被模糊了的细节。本文使用的平滑滤波器有中值滤波器和高斯低通滤波器,其中,中值滤波器对去除椒盐噪声特别有效,高斯低通滤波器对去除高斯噪声效果比较好。使用的锐化滤波器有反锐化掩膜滤波、Sobel边缘检测、Laplacian边缘检测以及Canny算子边缘检测滤波器。不同的滤波方式,在特定的图像处理应用中有着不同的效果和各自的优势。

1、分别用高斯滤波器和中值滤波器去平滑测试图像test1和2,模板大小分别 是3x3 , 5x5 ,7x7;利用固定方差 sigma=1.5产生高斯滤波器. 附件有产生高斯滤波器的方法。 实验原理分析: 空域滤波是直接对图像的数据做空间变换达到滤波的目的。它是一种邻域运算,其机理就是在待处理的图像中逐点地移动模板,滤波器在该点地响应通过事先定义的滤波器系数与滤波模板扫过区域的相应像素值的关系来计算。如果输出像素是输入像素邻域像素的线性组合则称为线性滤波(例如最常见的均值滤波和高斯滤波),否则为非线性滤波(中值滤波、边缘保持滤波等)。 空域滤波器从处理效果上可以平滑空间滤波器和锐化空间滤波器:平滑空间滤波器用于模糊处理和减小噪声,经常在图像的预处理中使用;锐化空间滤波器主要用于突出图像中的细节或者增强被模糊了的细节。 模板在源图像中移动的过程中,当模板的一条边与图像轮廓重合后,模板中心继续向图像边缘靠近,那么模板的某一行或列就会处于图像平面之外,此时最简单的方法就是将模板中心点的移动范围限制在距离图像边缘不小于(n-1)/2个像素处,单处理后的图像比原始图像稍小。如果要处理整幅图像,可以在图像轮廓边缘时用全部包含于图像中的模板部分来滤波所有图像,或者在图像边缘以外再补上一行和一列灰度为零的像素点(或者将边缘复制补在图像之外)。 ①中值滤波器的设计: 中值滤波器是一种非线性统计滤波器,它的响应基于图像滤波器包围的图像区域中像素的排序,然后由统计排序的中间值代替中心像素的值。它比小尺寸的线性平滑滤波器的模糊程度明显要低,对处理脉冲噪声(椒盐噪声)非常有效。中值滤波器的主要功能是使拥有不同灰度的点看起来更接近于它的邻近值,去除那些相对于其邻域像素更亮或更暗,并且其区域小于滤波器区域一半的孤立像素集。 在一维的情况下,中值滤波器是一个含有奇数个像素的窗口。在处理之后,位于窗口正中的像素的灰度值,用窗口内各像素灰度值的中值代替。例如若窗口长度为5,窗口中像素的灰度值为80、90、200、110、120,则中值为110,因为按小到大(或大到小)排序后,第三位的值是110。于是原理的窗口正中的灰度值200就由110取代。如果200是一个噪声的尖峰,则将被滤除。然而,如果它是一个信号,则滤波后就被消除,降低了分辨率。因此中值滤波在某些情况下抑制噪声,而在另一些情况下却会抑制信号。 将中值滤波推广到二维的情况。二维窗口的形式可以是正方形、近似圆形的或十字形等。本次作业使用正方形模板进行滤波,它的中心一般位于被处理点上。窗口的大小对滤波效果影响较大。 根据上述算法利用MATLAB软件编程,对源图像test1和test2进行滤波处理,结果如下图:

频域滤波

数字图像处理实验报告 班级:13计算机01班姓名:郭培甲 学号:20134440117 指导老师:蒋良卫 时间:2016-5-5

实验七 图像增强—频域滤波 一、 实验目的 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)具有传递函数: 001(,)(,)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[(,)]n H u v D u v D =+ 与理想地通滤波器不同的是,巴特沃兹率通滤波器的传递函数并不是在

0D 处突然不连续。 高斯低通滤波器(GLPF)的传递函数为 2 22),(),(σv u D e v u H = 其中,σ为标准差。 相应的高通滤波器也包括:理想高通滤波器、n 阶巴特沃兹高通滤波器、高斯高通滤波器。给定一个低通滤波器的传递函数(,)lp H u v ,通过使用如下的简单关系,可以获得相应高通滤波器的传递函数:1(,)hp lp H H u v =- 利用MATLAB 实现频域滤波的程序 主程序: clc;clear all f=imread('room.tif'); F=fft2(f); %对图像进行傅里叶变换 %对变换后图像进行对数变换,并对其坐标进行平移,使其中心化 S=fftshift(log(1+abs(F))); S=gscale(S); %将图像频谱标度在0-255的范围内 subplot 121;imshow(f); title('原始图像') subplot 122;imshow(S) %显示频谱图像 title('原始图像的频谱') h=fspecial('sobel'); %产生空间‘sobel ’模板 freqz2(h) %查看相应频域滤波器的图像 PQ=paddedsize(size(f)); %产生滤波时所需大小的矩阵 H=freqz2(h,PQ(1),PQ(2)); %产生频域中的‘sobel ’滤波器 H1=ifftshift(H); %重拍数据序列,使得原点位于频率矩阵的左上角 figure subplot 121;imshow(abs(H),[]) %以图形形式显示滤波器 title('空间滤波器') subplot 122;imshow(abs(H1),[]) title('空间滤波器移位后的频谱') gs=imfilter(double(f),h); %用模板h 进行空域滤波 gf=dftfilt(f,H1); %用滤波器对图像进行频域滤波 subplot 221;imshow(gs,[]) title('用模板h 进行空域滤波后的图像')

实验三 图像的空间域滤波

1 A=imread('E:\pic\1.jpg'); I=rgb2gray(A); subplot(1,3,1); imshow(I);title('原图'); J=imnoise(I,'salt & pepper',0.05); subplot(1,3,2); imshow(J); title('加入椒盐噪声图象'); K=imnoise(I,'gaussian',0.01,0.02); subplot(1,3,3); imshow(K);title('加入高斯噪声图象'); 2 A=imread('E:\pic\1.jpg'); I=rgb2gray(A); Subplot(2,2,1); Imshow(I);title('原图'); H=fspecial('motion',20,45); MotionBlur=imfilter(I,H,'replicate'); Subplot(2,2,2); Imshow(MotionBlur);title('MotionBlur image'); H=fspecial('disk',10); blurred=imfilter(I,H,'replicate'); Subplot(2,2,3); Imshow(blurred);title('Blurred image'); H=fspecial('unsharp',0.5); Sharpened=imfilter(I,H,'replicate'); Subplot(2,2,4); Imshow(Sharpened);title('sharpened image');

3 A=imread('E:\pic\1.jpg'); I=rgb2gray(A); J=imnoise(I,'salt & pepper',0.05); Subplot(2,2,1);imshow(J);title('加入椒盐噪声图象'); H=fspecial('motion',20,45); MotionBlur=imfilter(J,H,'replicate'); Subplot(2,2,2); Imshow(MotionBlur);title('replicate'); MotionBlur=imfilter(J,H,'symmetric'); Subplot(2,2,3); Imshow(MotionBlur);title('symmetric'); MotionBlur=imfilter(J,H,'circular'); Subplot(2,2,4); Imshow(MotionBlur);title('circular');

图像的傅立叶变换与频域滤波

实验四 图像的傅立叶变换与频域滤波 一、 实验目的 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)(21 01 ),(),(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); %显示原图像的频谱 域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和 高通滤波器。频域低通过滤的基本思想: G(u,v)=F(u,v)H(u,v) F(u,v)是需要钝化图像的傅立叶变换形式,H(u,v)是选取的一个低通过滤

空间域图像滤波

function Template=gausTemplate(n,sigma) end ---------------------------------------------------------------------------------------------------------------------- clc clear im=imread('C:\Users\Administrator\Desktop\lena.jpg'); s=11;sigma=10; k=(s-1)/2; Template=gausTemplate(s,sigma);%生成高斯模板 [m,n]=size(im); %图像扩边 %%%%%%%%%%%%%%%%%% for i=k+1:m+k for j=k+1:n+k neighbor=;%%%%点i,j的邻阈 temp=;%%邻域内点乘 imF(i,j)=;%计算滤波器响应 end end imFil=imF(k+1:m+k,k+1:n+k);%滤波后的图像 imFil=uint8(imFil); imshow(imFil) clc clear im=imread('C:\Users\Administrator\Desktop\lena.jpg'); s=3;sigma=0.8; k=(s-1)/2; Template=gausTemplate(s,sigma);%éú3é???1?£°? [m,n]=size(im); %í???à?±? new=zeros(m+2*k,n+2*k);

new(k+1:m+k,k+1:n+k)=im; %%%%%%%%%%%%%%%%%% for i=k+1:m+k for j=k+1:n+k neighbor=new(i-k:i+k,j-k:j+k) ;%%%%μ?i,jμ?áú?Dtemp=neighbor.*Template ;%%áúóò?úμ?3? imF(i,j)=sum(temp(:)) ;%??????2¨?÷?ìó| end end imFil=imF(k+1:m+k,k+1:n+k);%??2¨oóμ?í??? imFil=uint8(imFil); imshow(imFil);

图像的傅立叶变换与频域滤波

实验四图像的傅立叶变换与频域滤波 一、实验目的 1 了解图像变换的意义和手段; 2 熟悉傅里叶变换的基本性质; 3 熟练掌握FFT 方法的应用; 4 通过实验了解二维频谱的分布特点; 5 通过本实验掌握利用MATLAB 编程实现数字图像的傅立叶变换。 6、掌握怎样利用傅立叶变换进行频域滤波 7、掌握频域滤波的概念及方法 8、熟练掌握频域空间的各类滤波器 9、利用MATLAB 程序进行频域滤波 二、实验原理 1 应用傅立叶变换进行图像处理 傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。 2 傅立叶( Fourier )变换的定义

对于二维信号,二维Fourier 变换定义为: F{ f (x, y)} F(u,v) f (x,y)e j2 (ux vy)dxdy 二维离散傅立叶变换为: F(u,v) MINI 侖 f (x,y)e j2 (uxM uyN) x 0 y 0 图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。 3利用MATLAB软件实现数字图像傅立叶变换的程序: 匸imread( '原图像名.gif ' ); % 读入原图像文件 imshow(l); % 显示原图像 fftl=fft2(l); % 二维离散傅立叶变换 sfftl=fftshift(fftl); % 直流分量移到频谱中心 RR=real(sfftl); % 取傅立叶变换的实部 ll=imag(sfftl); % 取傅立叶变换的虚部 A=sqrt(RR.A2+ll.A2);% 计算频谱幅值 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 1 1 1 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 1] c) 分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对 1 blurry_moon.tif进行锐化滤波,并利用式 2完成图像的锐化增强,观察其有gxyfxyfxy(,)(,)(,),,, 何不同,要求在同一窗口中显示; d) 采用不同的梯度算子对blurry_moon.tif进行锐化滤波,并比较其 效果 e) 自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处 理后的图像; 3. 傅立叶变换 a) 读出woman.tif这幅图像,对其进行快速傅立叶变换,分别显示

频域滤波

一、频域滤波(低通滤波、高通滤波) (一)频域低通滤波器 1.实验目的:通过低通滤波器函数模板来处理图像,牺牲图像 清晰度为代价来减少干扰效果的修饰过程。 2.实验内容:用不同的低通滤波器对原始图像进行处理并比 较。 3.实验原理: 1)理想低通滤波器 最容易想到的衰减高频成分方法是在一个称为‘截止频 率’的位置截断所有的高频成分,将图像频谱中所有高 于这一截止的频谱成分设为0,低于截止频率的成分 设为保持不变。能够达到这种效果的滤波器我们称之为 理想低通滤波器。 其中,D0表示通带的半径。滤波器的频率域原点在频 谱图像的中心处,在以截止频率为半径的圆形区域之 内的滤镜元素值全部为1,而该圆之外的滤镜元素值 全部为0.理想低通滤波器的频率特性在截止频率处十

分陡峭,无法用硬件实现,这也是我们称之为理想的 原因,但其软件编程的模拟实现较为简单。 2)巴特沃斯低通滤波器 同样的,D0表示通带的半径,n表示的是巴特沃斯滤 波器的次数。 3)高斯低通滤波器 D0表示通带的半径。 4.过程与结果: 1)对一幅图像用理想低通滤波器结果如图: 原图及其频谱图

D0=60时理想低通滤波器转移函数的平面图及剖面图 D0=160时理想低通滤波器转移函数的平面图及剖面图

D0=60时理想低通滤波器的处理结果

2) 对一幅图像用巴特沃斯低通滤波器处理,结果如图: D0=100, n=1时理想低通滤波器转移函数的平面图及剖面图 D0=100,n=3时理想低通滤波器转移函数的平面图 及剖面图

D0=100,n=1时理想低通滤波器转移函数的频谱图及结果

数字图像的空间域滤波和频域滤波

数字图像的空间域滤波和频域滤波

三、实验过程 1. 平滑空间滤波: 1) 读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。 椒盐噪声: def salt_pepperNoise(src): dst = src.copy() num = 1000 # 1000个噪声点 ndim = np.ndim(src) row, col = np.shape(src)[0:2] for i in range(num): x = np.random.randint(0, row) # 随机生成噪声点位置 y = np.random.randint(0, col) indicator = np.random.randint(0, 2) # 灰度图像 if ndim == 2: if indicator == 0: dst[x, y] = 0 else: dst[x, y] = 255 # 彩色图像 elif ndim == 3: if indicator == 0: dst[x, y, :] = 0 else: dst[x, y, :] = 255 return dst 高斯噪声: def addGaussianNoise(image,sigma): mean = 0.0 row, col ,ch= image.shape gauss = np.random.normal(mean, sigma, (row, col,ch)) gauss = gauss.reshape(row, col,ch) noisy = image + gauss return noisy.astype(np.uint8)

数字图像处理灰度变换与空间域matlab

学号: 0000000000 姓名:0000000 实验一灰度变换与空间域滤波 一.实验目的及要求 1.了解MATLAB的操作环境和图像处理工具箱Image Processing Toolbox的功能;2.加深理解图像灰度变换与空间域滤波概念和算法原理; 3.掌握MATLAB中图像灰度变换与空间域滤的实现方法。 二、实验内容 (一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。利用MATLAB帮助文档熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。(可将每段程序保存为一个.m文件) 1.图像及视频文件的基本操作 (1)RGB彩色图像数据的读写操作 clear all; %清除工作空间的所有变量,函数,和MEX文件 close all; %关闭所有的Figure窗口 %查看一幅RGB彩色图像文件的信息 fileinfo = imfinfo('Fig0701_fruits.jpg') %暂停,阅读命令窗口中的结果,按空格键继续 pause; %读取该图像 I=imread('Fig0701_fruits.jpg'); %显示图像 imshow(I); title('Original RGB true color image'); %查看图像像素信息,在图像上移动鼠标,注意左下角的信息 impixelinfo; %暂停,按空格键继续 pause; % 读取图像的颜色分量,并保存到二维矩阵变量中 IR = I(:,:,1); IG = I(:,:,2); IB = I(:,:,3); %以灰度图像的方式显示各颜色分量

figure, imshow(IR); title('R分量'); figure, imshow(IG); title('G分量'); figure, imshow(IB); title('B分量'); %在图像左上角画一条5像素宽、100像素长的水平稍暗红线 I(31:35,61:160,1)=200; I(31:35,61:160,2)=0; I(31:35,61:160,3)=0;% %显示处理结果 figure, imshow(I); title('在图像背景中画红线'); %将结果保存为tif格式图像文件 imwrite(I,'fruits_bar.tif'); %-------------------------------------------------------------------------------- (2)索引图像与 RGB彩色图像之间的转换

频域图像处理和图像恢复(MATLAB实验)

实验项目名称:频域图像处理和图像恢复 (所属课程:图像和视频处理) 学院:专业班级:姓名:学号:实验日期:实验地点:指导教师: 本实验项目成绩:教师签字:日期:__________________ 1.实验目的 (1) 掌握频域图像处理的基本方法。 (2) 掌握图像的傅里叶变换。 (3) 掌握空域和频域图像处理的联系与区别。 (4) 掌握图像恢复的相关理论和方法。 2.实验内容 (1)显示图像’’和’’傅立叶变换的傅立叶谱图像。 I=imread(''); Id=im2double(I); I_dft=fft2(Id); figure,imshow(Id),title('Original Image'); figure,imshow(log(1+abs(fftshift(I_dft))),[]),... title('FT of original image');

I=imread(''); Id=im2double(I); I_dft=fft2(Id); figure,imshow(Id),title('Original Image'); figure,imshow(log(1+abs(fftshift(I_dft))),[]),... title('FT of original image');

(2) 对图像’’采用理想低通滤波器和理想高通滤波器进行处理,分析不同的滤波器得到的结果; 低通R1=35: I=imread(''); Id=im2double(I); I_dft=fft2(Id); [M,N]=size(I);

dist=distmatrix(M,N); figure,mesh(fftshift(dist)),title('Distance Matrix'); H=zeros(M,N); radius=35; ind=dist<=radius; H(ind)=1; Hd=double(H); DFT_filt=Hd .* I_dft; I2=real(ifft2(DFT_filt)); figure,imshow(log(1+abs(fftshift(DFT_filt))),[]),... title('Filtered FT'); figure,imshow(I2),title('Filtered Image'); R2=80:

傅立叶变换与频率域滤波

实验四傅立叶变换与频率域滤波 实验目的 通过本次实验,实现以下几个目标: 1.理解傅立叶变换; 2.熟悉MATLAB中各种傅立叶变换相关的函数; 3.掌握频域滤波的步骤以及MATLAB的实现方法; 4.理解频域滤波器与空域滤波器的关系。 实验内容 一、傅立叶变换及傅立叶反变换 1.傅立叶变换相关函数 MATLAB提供了几个和傅里叶变换相关的函数。其说明如下: F=fft2(f); 二维傅立叶变换 abs(F); 获得傅立叶频谱 fftshift(F); 将变换的原点移至频率矩形的中心 ifft2(F); 二维傅立叶反变换 real(ifft2(F)); 提取变换后的实部 imag(ifft2(F)); 提取变换后的虚部 2.傅里叶频谱 傅里叶频谱反映了图像的频率成分。下面的例子对课本中123页和 125页的图Fig4.03(a) 和图Fig4.04(a)进行傅立叶变换,得到傅立叶 频谱。显示傅立叶频谱时,使用了对数变换以获得更好效果。 f=imread('Fig4.03(a).jpg'); F=fft2(double(f)); F=fftshift(F); figure(1), imshow(f); figure(2), imshow(log(abs(F)+1),[ ]); f=imread('Fig4.04(a).jpg'); F=fft2(double(f)); F=fftshift(F); figure(1), imshow(f); figure(2), imshow(log(abs(F)+1),[ ]); 为了更好地理解频谱,显示下面三个图像(x6.jpg,x60.jpg,y6.jpg)的傅里叶频谱,观察并比较、分析结果。 显示频谱时使用下面的语句来做灰度变换可找出其主要的频率成分。 figure(2), imshow(log(abs(F)+1).^4,[ ]); %先对数、再幂次变换

用逆滤波和维纳滤波进行图像复原

用逆滤波和维纳滤波进行图像复原 在图像的获取、传输以及记录保存过程中,由于各种因素,如成像设备与目标物体的相对运动,大气的湍流效应,光学系统的相差,成像系统的非线性畸变,环境的随机噪声等原因都会使图像产生一定程度的退化,图像退化的典型表现是图像出现模糊、失真,出现附加噪声等。由于图像的退化,使得最终获取的图像不再是原始图像,图像效果明显变差。为此,要较好地显示原始图像,必须对退化后的图像进行处理,恢复出真实的原始图像,这一过程就称为图像复原. 图像复原技术是图像处理领域一类非常重要的处理技术,主要目的就是消除或减轻在图像获取及传输过程中造成的图像质量下降即退化现象,恢复图像的本来面目. 图像复原的过程是首先利用退化现象的某种先验知识,建立退化现象的数学模型,然后再根据退化模型进行反向的推演运算,以恢复原来的景物图像. 一、 实验目的 1了解图像复原模型 2了解逆滤波复原和维纳滤波复原 3掌握维纳滤波复原、逆滤波的Matlab 实现 二、实验原理 1、逆滤波复原 如果退化图像为(),g x y ,原始图像为(),f x y ,在不考虑噪声的情况下,其退化模型可用下式表示 ()()(),,,g x y f x y d d αβδαβαβ +∞+∞ -∞ -∞ =--? ? (12-25) 由傅立叶变换的卷积定理可知有下式成立 ()()(),,,G u v H u v F u v = (12-26) 式中,(),G u v 、(),H u v 、(),F u v 分别是退化图像(),g x y 、点扩散函数(),h x y 、原始图像(),f x y 的傅立叶变换。所以 ()()()()11,,,,G u v f x y F F u v F H u v --??==???????? (12—27) 由此可见,如果已知退化图像的傅立叶变换和系统冲激响应函数(“滤被”传递函数),则可以求得原图像的傅立叶变换,经傅立叶反变换就可以求得原始图像 (),f x y ,其中(),G u v 除以(),H u v 起到了反向滤波的作用。这就是逆滤波复原的

实验三数字图像的空间域滤波讲解

实验三、四数字图像的空间域滤波和频域滤波 1.实验目的 1.掌握图像滤波的基本定义及目的。 2.理解空间域滤波的基本原理及方法。 3.掌握进行图像的空域滤波的方法。 4.掌握傅立叶变换及逆变换的基本原理方法。 5.理解频域滤波的基本原理及方法。 6.掌握进行图像的频域滤波的方法。 2.实验基本原理 1.空间域增强 空间域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。 空域滤波一般分为线性滤波和非线性滤波两类。线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。结合这两种分类方法,可将空间滤波增强分为四类: 线性平滑滤波器(低通) 非线性平滑滤波器(低通) 线性锐化滤波器(高通) 非线性锐化滤波器(高通) 空间滤波器都是基于模板卷积,其主要工作步骤是: 1)将模板在图中移动,并将模板中心与图中某个像素位置重合; 2)将模板上的系数与模板下对应的像素相乘; 3)将所有乘积相加; 4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。 2.平滑滤波器 1)线性平滑滤波器 线性低通平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对3×3 的模板来说,最简单的是取所有系数为1,为了保持输出图像任然在原来图像的灰度值范围内,模板与象素邻域的乘积都要除以9。 MATLAB 提供了fspecial 函数生成滤波时所用的模板,并提供filter2 函数用指定的滤

实验四 噪声图像的复原

实验四噪声图像的复原 一、运动模糊与维纳滤波 1.实验方式 通过对图像添加运动模糊模拟实际拍照的延时效应,并且利用维纳滤波方式对图像进行滤波,观察维纳滤波对运动模糊的过滤效果,并对照其他几种滤波方式对运动模糊的影响。 实验代码: close all;clear all;clc; i=imread('E:\Matlabimage\book.jpg'); I=rgb2gray(i); I = im2double(I); LEN = 21; THETA = 11; PSF = fspecial('motion', LEN, THETA); blurred = imfilter(I, PSF, 'conv', 'circular'); wnr2 = deconvwnr(blurred, PSF); subplot(2,2,1);imshow(i);title('原图') subplot(2,2,2);imshow(I);title('灰度图') subplot(2,2,3);imshow(blurred);title('运动模糊图像') subplot(2,2,4);imshow(wnr2);title('恢复图像') 代码解释:程序首先读取一幅JPG格式的彩色图片,然后将此图片转化为双精度灰度图片,然后产生运动模糊算子PSF,其中参数LEN和THETA表示摄像物体逆时针方向一THETA方向运动了LEN个像素,并且通过imfilter实现运动模糊效果,将返回的结果放入blurred,然后通过deconvwnr实现滤波,并将滤波前后的图像显示出来。 实验结果:

几种滤波方式对运动模糊的滤除效果对比: 运动模糊+维纳滤波:运动模糊+中值滤波: 运动模糊+平均值滤波 由对比结果可知维纳滤波对运动模糊有很好的处理效果。 二、利用MATLAB实现频域滤波的程序 1、频域sobel滤波 实验根据公式设计高通或低通滤波器对图像进行处理,并观察频域滤波的效果实验代码: close all;clear all;clc; f=imread('cameraman.tif'); F=fft2(f); %对图像进行傅立叶变换 %对变换后图像进行对数变化,并对其坐标平移,使其中心化 S=fftshift(log(1+abs(F))); S=gscale(S); %将频谱图像标度在0-256的范围内 figure,imshow(S) %显示频谱图像 h=fspecial('sobel'); %产生空间‘sobel’模版 figure;freqz2(h) %查看相应频域滤波器的图像 PQ=paddedsize(size(f)); %产生滤波时所需大小的矩阵 H=freqz2(h,PQ(1),PQ(2)); %产生频域中的‘sobel’滤波器

频域滤波

频域滤波 主要内容: 一.回顾空间滤波 二.傅里叶变换 三.傅里叶变换的性质 四.频域滤波 一.回顾空间滤波 “滤波”:接受或拒绝一定的频率分量,来源频域处理。分空间滤波和频率滤波(即对图像的频谱进行滤波)。 空间滤波:就是滤波器和图像做卷积的结果。 平滑滤波器滤波器: 锐化滤波器:

二. 傅里叶变换 1.由傅里叶级数推倒的连续傅里叶变换 设周期信号为()x t ,其周期是T ,频率1 T σ =,角频率2ωπσ=,则 将()x t 展成指数形式的Fourier 级数如下: ()in t n n x t X e ω ∞ =-∞ = ∑, 其中 /2 /2 1()T in t n T X x t e dt T ω--=? 两边同时乘以T ,得到 /2 /2 ()T in t n T X T x t e dt ω--= ? 对于非周期信号,重复周期T →∞,离散频率n ω就变成连续频率ω了。在这种极限情况下,2n X πω趋于有限值,且变成一个连续函数,记为()F ω. ()lim ()i t n T X X T x t e dt ωω+∞ -→∞ -∞ == ? (Fourier 变换) 1 ()()2i t x t X e d ωωωπ +∞ -∞ = ? (Fourier 逆变换) 若用频率σ代替角频率2ωπσ=,则有

2()()i t X x t e dt πσσ+∞ --∞ = ? ,σ 为频率 2()()i t x t X e d πσσσ +∞ -∞ = ? 由()F μ表示连续变量t 的连续函数()f t 的傅里叶变换由下式定义: 2()()j t F f t e dt πμμ∞--∞ =? 相反,给定()F μ,通过傅里叶逆变换可以获得()f t ,傅里叶逆变换定义如下: 2()()j t f t F e d πμμμ ∞ -∞=? 上述两式称为傅里叶变换对。 例: 看一个简单函数的傅里叶变换: 1,11()0,t f t -≤≤?=?? 其他 ,将其进行傅里叶变换121sin(2)()1j t F e dt πμπμμπμ--=?=? 2.离散傅里叶变换(DFT ) 离散傅里叶变换的公式: 1 2/0()(),0,1,2,...,1 M j x M x F f x e M πμμμ--===-∑ 原函数()f t 原函数的傅里叶变换()F μ

图像的空间域滤波和频域滤波

实验三:数字图像的空间域滤波和频域滤波 一、实验目的 1. 掌握图像滤波的基本定义及目的。 2. 理解空间域滤波的基本原理及方法。 3. 掌握进行图像的空域滤波的方法。 4. 掌握傅立叶变换及逆变换的基本原理方法。 5. 理解频域滤波的基本原理及方法。 6. 掌握进行图像的频域滤波的方法。 二、实验内容 1、平滑空间滤波: 1) 读入一幅灰度图像,给这幅图像分别加入椒盐噪声和高斯噪声后并显示。 2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果, 要求在同一窗口中显示。 3) 使用函数imfilter 时,分别采用不同的填充方法(或边界选项,如零填 充、’replicate ’、’symmetric ’、’circular ’)进行低通滤波,显示处理后的图像。 4) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处 理,要求在同一窗口中显示结果。 5) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。 2、锐化空间滤波 1) 读入一幅图像,采用3×3的拉普拉斯算子w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波。 2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n 的拉普拉斯算子,如5×5 的拉普拉斯算子 w = [ 1 1 1 1 1 1 1 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 1] 3) 分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对图像进行锐化滤波, 并利用式2(,)(,)(,)g x y f x y f x y =-?完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。 4) 自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处理后的图像; 三、实验代码及结果 1、(1) >>i1=imread('C:\Users\Administrator\Desktop\图片1.bmp'); >> I1=rgb2gray(i1); >> I1_noise1=imnoise(I1,'salt & pepper'); >> I1_noise2=imnoise(I1,'gaussian');

频域滤波课程设计

1引言 当前,人类社会已经进入了信息社会。信息是事物运动状态和特征的反映,它和材料及能量一起构成社会的三个要素。但是,信息具有一些不同于材料和能量的特征。信息具有普遍性,无损性,时空独立性,等等。正是由于信息具有这些特征,因此,它和人类文明及社会发展的各个阶段都有密切的联系。 与其他学科一样,生物医学受到信息科学及技术的影响,进而相互渗透,融合。由此产生的对生物和医学学科发展的促进作用也是显而易见的:例如,X射线早在1895年已被发现,然而,只有在计算机技术快速发展和图像重建及处理方法得以实现的基础上,G.N.Hounsfield和A.M.Cormack才发明了X射线计算机断层扫描成像技术(XCT)并应用于医学。 图像重建方法包括二维平行光束和扇形束成像,三位平行线,平行面以及锥形束成像。我们所用到的傅立叶变换就属于二维平行光束成像。一般地说,人眼所能看到的实物就是处于一个相对的空间参考系中,而在空间域中的图像就是对物体光反射特性的一种具体表现。因此,在空间域中定义的图像,其像素的坐标值确定了该像素的相对空间位置,图像中各像素的灰度值反映了物体在该点的光反射特性。正式由于图像的空间域定义直接反也容易让人接受。 但是,有时为了使某种处理或运算更为简便或快速,或者为了更明显的表现图像的另一些特征也可以在其他域中来描述和处理图像,广义地将其称为变换域(transformdomain).比如,刚获得的图像有很多噪音。这主要由于平时的工作和环境引起的,图像增强是减弱噪音,增强对比度。想得到比较干净清晰的图像并不是容易的事情。因此,可以通过在频域内对图像进行滤波来取出噪音。 2摘要 本次设计主要实现图像的频域理想低通滤波,理想高通滤波和巴特沃斯低通滤波。通过对理想低通滤波器,理想高通滤波器和巴特沃斯低通滤波器的设计,对图像进行变换,实现对图像的滤波,从而更加方便快捷的得到需要的图像。 3关键字 低通,高通,巴特沃斯,频域,滤波

相关主题
文本预览
相关文档 最新文档