文档库 最新最全的文档下载
当前位置:文档库 › 图像变换及频域滤波

图像变换及频域滤波

图像变换及频域滤波
图像变换及频域滤波

实验报告

实验名称图像变换及频域滤波课程名称数字图像处理

姓名xxx 成绩

班级xxx 学号xxx

日期2013-11-19 地点综合实验楼

1.实验目的

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

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

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

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

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

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

2.实验环境(软件、硬件及条件)

Windws2000XP

3.实验方法

(1)产生如图所示图像发(x,y)(128x128大小,黑色区域灰度值为0,中心白色区域大小为16x64,灰度值等于255),用MA TLAB中的ff2进行FT:

1)同屏显示原图f1和FFT(f1)的幅度频谱;

2)若令f2(x,y)=(-1)^x+y(f1(x,y)),重复以上操作过程,比较二者幅度频谱的差异,简述理由;

3)若将f2(x,y)顺时针旋转45度得到f3(x,y),是现实FFT(f3))的幅度普,冰雨FFT(f2)的幅度谱进行比较。

(2)对如图所示图像进行频域的理想低通,高通滤波,同屏显示原图,幅度谱图和低通,高通滤波的结果图。

4.实验分析

1.低通滤波

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

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

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

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

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

2.高通滤波

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

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

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

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

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

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

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

5.实验结论

结论1:不同点:f2的频谱是对f1频谱的移位,它时f1的频谱从原点(0,0)移到了中心(64,64),而得到了一个完整的频谱。

相同点:频谱的实质没有改变,幅度等都没有发生变化。

结论2:均衡化后的直方图并非完全均匀分布的原因:因为图像的像素个数和灰度等级均为离散值,而且均衡化后使灰度级并归。

附件

实验1源代码:

f1=zeros(128,128);

for i=38:1:90

for j=58:1:70

f1(i,j)=255;

end

end

figure(1)

subplot(1,2,1);

imshow (f1);

subplot(1,2,2);

imshow (fft2(f1));

% f2(x,y)=(-1)^(x+y)* f1(x,y)

for i=1:1:128

for j=1:1:128

f2(i,j)=(-1)^(i+j)*f1(i,j);

end

end

figure(2);

subplot(1,3,1);

imshow (f2);

f3=imrotate(f2,-45,'bilinear');%将f2顺时针旋转45度subplot(1,3,2);

imshow(fft2(f2));%显示f2的频谱

subplot(1,3,3);

imshow(fft2(f3));%显示f3的频谱

figure(1);

fid=fopen('d:\img\lena.img','r');

data=(fread(fid,[256,256],'uint8'))';

subplot(2,2,1)

imagesc(data);

colormap(gray);

title('LENA','Color','r');

subplot(2,2,2);

imshow(fft2(data));

s=fftshift(fft2(data));

[M,N]=size(s); %分别返回s的行数到M中,列数到N中

n=2; %对n赋初值

%GLPF滤波,d0=5,15,30(程序中以d0=30为例)

d0=30; %初始化d0

n1=floor(M/2); %对M/2进行取整

n2=floor(N/2); %对N/2进行取整

for i=1:M

for j=1:N

d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离

h=1*exp(-1/2*(d^2/d0^2)); %GLPF滤波函数s(i,j)=h*s(i,j); %GLPF滤波后的频域表示

end

s=ifftshift(s); %对s进行反FFT移动%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数

s=uint8(real(ifft2(s)));

subplot(2,2,3); %创建图形图像对象

imshow(s);

p=fftshift(fft2(data));

[M,N]=size(p); %分别返回p的行数到M中,列数到N中

n=2; %对n赋初值

%GLPF滤波d1=30

d1=30; %初始化d1

n3=floor(M/2); %对M/2进行取整

n4=floor(N/2); %对N/2进行取整

for i=1:M

for j=1:N

dd=sqrt((i-n3)^2+(j-n4)^2); %点(i,j)到傅立叶变换中心的距离

h1=1-exp(-1/2*(dd^2/d1^2)); %GHPF滤波函数p(i,j)=h1*p(i,j); %GHPF滤波后的频域

end

end

p=ifftshift(p); %对p进行反FFT移动%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数

p=uint8(real(ifft2(p)));

subplot(2,2,4); %创建图形图像对象

imshow(p);

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

实验四 图像的傅立叶变换与频域滤波 一、 实验目的 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)是选取的一个低通过滤

频域滤波

数字图像处理实验报告 班级: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 进行空域滤波后的图像')

实验一图像变换及频域滤波7页

实验一 图像变换及频域滤波 1. 实验任务 (1)编写快速傅里叶变换算法程序,验证二维傅里叶变换的平移性和旋转不变性; (2)实现图像频域滤波,加深对频域图像增强的理解; (3)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。 2. 实验环境 Windws2000/XP 3. 开发工具 (1)MATLAB 6.x (2)Visual C++、Visual Basic 或其它 4. 实验内容及步骤 (1)产生如图3.1所示图像),(1y x f (128×128大小,暗处=0,亮处=255),用MATLAB 中的fft2函数对其进行FFT : 源程序: 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:128 b(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); ① 同屏显示原图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.3 结论:将图1.3与图1.1比较可知,将原图移动旋转45度以后,幅度谱图仍然没的改变,图象能量依然集中在4个角. (2)对如图3.2所示的数字图像lena.img (256×256大小、256级灰度)进行频域的理想低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。 源程序: clc a=fopen('lena.img','r'); 图3.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)到滤波器中心的距离。 功率谱比的定义: g (,)(,) f P u v L P u v = 其中,(,)f P u v 为滤波前图像的功率谱,g (,)P u v 为滤波后图像的功率谱。 频率计算公式为:2 (,)(,)f P u v F u v =,2 (,)(,)g P u v G u v =。 ① Butterworth 滤波器设计: 理想低通滤波器在数学上定义得很清楚,在计算机模拟中也可实现,但在截断频率处直上直下的理想低通滤波器是不能用实际的电子器件实现的。

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

实验四图像的傅立叶变换与频域滤波 一、实验目的 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.熟悉Matlab处理图像的基本原理,并熟练地运用进行一些基本的图像操作; 2.能够用Matlab来进行亮度变换,直方图处理以及一些简单的空间滤波; 实验内容: 去噪,灰度变换,直方图处理,空域和频域平滑锐化,同态滤波;结果分析: 1.直方图处理: ⑴显示原图直方图以及原图: 代码: >> imread(''); >> imshow(f); >> imhist(f); 原图以及原图直方图为:

⑵直方图均衡化: 代码: >> f=imread(''); >> n=imnoise(f); >> imwrite(n,''); >> [thr,sorh,keepapp] = ddencmp('den','wv',im2double(n)); >> r=wdencmp('gbl',im2double(Noise),'sym2',2,thr,sorh,keepapp); >> r=wdencmp('gbl',im2double(n),'sym2',2,thr,sorh,keepapp); >> imwrite(r,''); >> imshow(f); 现在的图片以及直方图为: 结论: 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效

地扩展常用的亮度来实现这种功能。 2.灰度变换: 代码: >> f=imread(''); >> n=imnoise(f); >> imwrite(n,''); >> [thr,sorh,keepapp] = ddencmp('den','wv',im2double(n)); >> r=wdencmp('gbl',im2double(Noise),'sym2',2,thr,sorh,keepapp); >> r=wdencmp('gbl',im2double(n),'sym2',2,thr,sorh,keepapp); >> imwrite(r,''); >> imshow(f); 变换的图像(f为图a,a1为图b,a2为图c,a3为图d): (图a)(图b)

图像的频域滤波

实验六:图像的频域滤波 姓名:朱永祥学号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);

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

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

三、实验过程 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)

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

实验二数字图像的空间域滤波和频域滤波 实验二数字图像的空间域滤波和频域滤波一(实验目的 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.熟悉MATLAB中各种傅立叶变换相关的函数; 3.掌握频域滤波的步骤以及MATLAB的实现方法; 4.理解频域滤波器与空域滤波器的关系。 二、实验内容及步骤 1、傅立叶变换及傅立叶反变换 (1)傅立叶变换相关函数 MATLAB提供了几个和傅立叶变换相关的函数。其说明如下: F=fft2(f); 二维傅立叶变换 real(F); 傅立叶变换的实部 imag(F); 傅立叶变换的虚部 abs(F); 获得傅立叶频谱 fftshift(F); 将变换的原点移至频率矩形的中心 ifft2(F); 二维傅立叶反变换 iffshift(F); 反中心平移 (2)傅立叶频谱 傅立叶频谱反映了图像的频率成分。幅值谱的能量往往集中于中低频部分,并且中低频部分的能量反映了图像的实体。图像的噪声往往集中于高频部分。 下面的例子对课本中123页的图Fig4.03(a).jpg进行傅立叶变换,得到傅立叶频谱。 例:x=imread('Fig4.03(a).jpg'); F=fft2(x); %二维傅立叶变换 FP=sqrt(real(F).^2+imag(F).^2); %计算傅立叶频谱,或者使用abs()函数 imshow(uint8(FP)) %显示傅立叶频谱,直流成分分布在四个边角 figure(2); imshow(uint8(fftshift(FP))) % 中心平移的频谱图

思考题1:对课本125页的图Fig4.04(a).jpg进行傅立叶变换,得到傅立 叶频谱,为清楚地显示该谱,将其进行对数变换处理,增强其灰度细节。结果类似于图5_1。 图5_1 Fig4.04(a)的傅立叶谱 x=imread('Fig4.04(a).jpg'); F=fft2(x); FP=sqrt(real(F).^2+imag(F).^2); Image=log(1+double(fftshift(FP))); imshow(x); figure(2);imshow(Image,[]); (3)傅立叶变换对

频域图像处理和图像恢复(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 基本原理 2.1 图像噪声 噪声在理论上可以定义为“不可预测,只能用概率统计方法来认识的随机误差”。实际获得的图像一般都因受到某种干扰而含有噪声。引起噪声的原因有敏感元器件的内部噪声、相片底片上感光材料的颗粒、传输通道的干扰及量化噪声等。噪声产生的原因决定了噪声的分布特性及它和图像信号的关系。 根据噪声和信号的关系可以将其分为两种形式: (1)加性噪声。有的噪声与图像信号g(x,y)无关,在这种情况下,含噪图像f(x,y)可表示为 f(x,y)=g(x,y)+n(x,y) (2)乘性噪声。有的噪声与图像信号有关。这又可以分为两种情况:一种是某像素处的噪声只与该像素的图像信号有关,另一种是某像点处的噪声与该像点及其邻域的图像信号有关,如果噪声与信号成正比,则含噪图像f(x,y)可表示为 f(x,y)=g(x,y)+n(x,y)g(x,y) 另外,还可以根据噪声服从的分布对其进行分类,这时可以分为高斯噪声、泊松噪声和颗粒噪声等。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声,一般为加性噪声。

2.2 图像平滑处理技术 平滑技术主要用于平滑图像中的噪声。平滑噪声在空间域中进行,其基本方法是求像素灰度的平均值或中值。为了既平滑噪声又保护图像信号,也有一些改进的技术,比如在频域中运用低通滤波技术。 (1)空域法 在空域中对图像进行平滑处理主要是邻域平均法。这种方法的基本思想是用几个像素灰度的平均值来代替每个像素的灰度。假定有一幅N*N 个像素的图像f(x,y),平滑处理后得到一幅图像g(x,y)。g(x,y)由下式决定 式中,x,y=0,1,2,…,N-1;S 是(x,y)点邻域中点的坐标的集合,但其中不包括(x,y)点;M 是集合内坐标点的总数。上式说明,平滑化的图像g(x,y)中每个像素的灰度值均由包含在(x,y)的预定邻域中的f(x,y)的几个像素的灰度值的平均值来决定。 (2)频域法 低通滤波法是一种频域处理方法。在分析图像信号的频率特性时,一幅图像的边缘、跳跃部分以及颗粒噪声代表图像信号的高频分量,而大面积的背景区则代表图像信号的低频分量。用滤波的方法滤除其高频部分就能去掉噪声,使图像得到平滑。 由卷积定理可知 其中F(u,v)是含有噪声的图像的傅立叶变换,G(u,v)是平滑处理后的图像的傅立叶变换,H(u,v)是传递函数。选择传递函数H(u,v),利用H(u,v)使F(u,v)的高频分量得到衰减,得到G(u,v)后再经傅立叶反变换后就可以得到所希望的平滑图像g(x,y)了。根据前面的分析,显然H(u,v)应该具有低通滤波特性,所以这种方法叫低通滤波法平滑化处理。 常用的低通滤波器有如下几种: a.理想低通滤波器 一个理想的二维低通滤波器有一个参数 。它是一个规定的非负的量,叫做理想低通滤波器的截止频率。所谓理想低通滤波器是指以截频 为半径的圆内的所有频率都能无损地通过,而在截频之外的频率分量完全被衰减。理想低通滤波器可以用计算机模拟实 M n m f y x g S n m ∑∈=),(),(),() ,(),(),(G v u F v u H v u ?=0D 0

MATLAB实现频域平滑滤波以及图像去噪代码

MATLAB实现频域平滑滤波以及图像去噪代码用MATLA实现频域平滑滤波以及图像去噪代码 悬赏分:50 - 解决时间 :2008-11-8 14:21 是数字图象处理的实验,麻烦高人给个写好的代码,希望能在重要语句后面附上一定的说明,只要能在 MATLAE t运行成功,必然给分。具体的实验指导书上的要求如下 : 频域平滑滤波实验步骤 1. 打开 Matlab 编程环境 ; 2. 利用’imread '函数读入图像数据; 3. 利用' imshow' 显示所读入的图像数据 ; 4. 将图像数据由' uint8 ' 格式转换为' double ' 格式,并将各点数据乘以 (-1)x+y 以便 FFT 变换后的结果中低频数据处于图像中央; 5. 用' fft2 ' 函数对图像数据进行二维 FFT 变换,得到频率域图像数据; 6. 计算频率域图像的幅值并进行对数变换,利用' imshow' 显示频率域图像; 7. 在频率图像上去除滤波半径以外的数据 (置 0); 8. 计算频率域图像的幅值并进行对数变换,利用' imshow' 显示处理过的 频域图像数据; 9. 用' ifft2 ' 函数对图像数据进行二维 FFT 逆变换,并用' real '函数取其实部,得到处理过的空间域图像数据; 10. 将图像数据各点数据乘以 (-1)x+y; 11. 利用' imshow' 显示处理结果图像数据; 12. 利用' imwrite '函数保存图像处理结果数据。 图像去噪实验步骤 : 1. 打开 Matlab 编程环境;

2. 利用' imread' 函数读入包含噪声的原始图像数据 ; 3. 利用' imshow' 显示所读入的图像数据 ; 4. 以 3X3 大小为处理掩模,编写代码实现中值滤波算法,并对原始噪声图像进行滤波处理 ; 5. 利用' imshow' 显示处理结果图像数据 ; 6. 利用' imwrite ' 函数保存图像处理结果数据。 即使不是按这些步骤来的也没关系,只要是那个功能,能实现就0K谢谢大家%%%%%%%%spatial frequency (SF) filtering by low pass filter%%%%%%%% % the SF filter is unselective to orientation (doughnut-shaped in the SF % domain). [FileName,PathName,FilterIndex] = uigetfile ; filename = fullfile(PathName, FileName) ; [X map] = imread(filename, fmt); % read image L = double(X); % transform to double %%%%%%%%%%%%% need to add (-1)x+y to L % calculate the number of points for FFT (power of 2) fftsize = 2 .A ceil(log2(size(L))); % 2d fft Y = fft2(X, fftsize(1), fftsize (2)); Y = fftshift(Y); % obtain frequency (cycles/pixel) f0 = floor([m n] / 2) + 1; fy = ((m: -1: 1) - f0(1) + 1) / m; fx = ((1: n) - f0(2)) / n; [mfx mfy] = meshgrid(fx, fy); % calculate radius SF = sqrt(mfx .A 2 + mfy .A 2);

(实验四)数字图像 DFT 及频域滤波

实验报告 实验课程:光电图像处理 姓名: 学号: 实验地点:信软楼309 指导老师: 实验时间:2016年 4 月 7日

一.实验名称:(实验四)数字图像DFT及频域滤波 二.实验目的 1. 了解数字图像各种正交变换的概念、原理和用途。 2. 熟练掌握数字图像的 DFT/DCT 的原理、方法和实现流程,熟悉两种变换的性质,并能对数字图像 DFT 及 DCT 的结果进行必要解释。 3.熟悉和掌握利用 MATLAB 工具进行数字图像 FFT 及 DCT 的基本步骤、MATLAB函数使用及具体变换的处理流程,并能根据需要进行必要的频谱分析和可视化显示。 4. 熟悉利用空域滤波器构建对应的频域滤波器的方法和关键步骤。 5. 熟悉和掌握几种典型的频域低通滤波器及高通滤波器的原理、特性和作用。 6. 搞清空域图像处理与频域图像处理的异同,包括处理流程、各自的优势等。掌握频域滤波的基本原理和基本流程,并能编写出相应的程序代码。 三.实验原理 1.模型图像的FFT 实验: 原理:傅里叶变换提供了另外一个角度来观察图像,可以将图像从灰度分布转化为频率分布来观察图像的特征。FFT主要是应用公式: 进行空间域与频率域的相互转换. 程序流程图:

2.实际图像的FFT 实验: 原理:傅里叶变换提供了另外一个角度来观察图像,可以将图像从灰度分布转化为频率分布来观察图像的特征。其中对于频谱反中心化的处理是通过 I=fftshift(I)来实现的,FFT主要是应用公式: 进行空域与频域的转换. 程序流程图: 3.数字图像的频域滤波处理: 原理:图像的频域表征了图像中灰度变化剧烈程度的指标,是灰度在平面空间上 的梯度。图像的边缘部分是突变部分,变化较快,因此反映在频域上是高频 分量;图像的大部分噪声是高频部分;而图像中大部分平缓的灰度变化部分 则为低频分量,再通过构建的高通与低通滤波器与FFT变换后的频谱函数乘 积的滤波处理,显示出处理后的图像. 程序流程图: (1)

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

用逆滤波和维纳滤波进行图像复原 在图像的获取、传输以及记录保存过程中,由于各种因素,如成像设备与目标物体的相对运动,大气的湍流效应,光学系统的相差,成像系统的非线性畸变,环境的随机噪声等原因都会使图像产生一定程度的退化,图像退化的典型表现是图像出现模糊、失真,出现附加噪声等。由于图像的退化,使得最终获取的图像不再是原始图像,图像效果明显变差。为此,要较好地显示原始图像,必须对退化后的图像进行处理,恢复出真实的原始图像,这一过程就称为图像复原. 图像复原技术是图像处理领域一类非常重要的处理技术,主要目的就是消除或减轻在图像获取及传输过程中造成的图像质量下降即退化现象,恢复图像的本来面目. 图像复原的过程是首先利用退化现象的某种先验知识,建立退化现象的数学模型,然后再根据退化模型进行反向的推演运算,以恢复原来的景物图像. 一、 实验目的 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.了解频域滤波的方法; 2.掌握频域滤波的基本步骤。 二、实验内容 1.使用二维快速傅立叶变换函数fft2( )及其反变换函数ifft2( )对图象进行变换; 2.自己编写函数生成各种频域滤波器; 3.比较各种滤波器的特点。 三、实验步骤 1.图象的傅立叶变换 a.对图象1.bmp 做傅立叶变换。 >> x=imread(‘1.bmp’); f=fft2(x); imshow(real(f)) %显示变换后的实部图像 figure f1=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.*H e.求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进行低通滤波;

实验四 噪声图像的复原

实验四噪声图像的复原 一、运动模糊与维纳滤波 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’滤波器

相关文档