空间域滤波和频域滤波

空间域滤波和频域滤波
空间域滤波和频域滤波

空间域滤波和频域滤波

clc;close all;clear;

f = imread('Fig1112b.bmp');

% imshow(f)

F = fft2(f);

S = fftshift(log(1+abs(F)));

% figure,imshow(S,[])

h = fspecial('sobel')';

PQ = paddedsize(size(f));

H = freqz2(h, PQ(1), PQ(2));

H1 = ifftshift(H);

% figure,imshow(abs(H),[])

% colormap(jet(64));

% figure,imshow(abs(H1),[])

% colormap(jet(64));

% figure,freqz2(h,PQ(1),PQ(2));

gs = imfilter(double(f), h);

gf = dftfilt(f, H1);

figure,imshow(gf,[])

figure,imshow(gs,[])

figure,imshow(abs(gf),[])

figure,imshow(abs(gs),[])

figure,imshow(abs(gs>0.2*(max(gs(:)))),[]) figure,imshow(abs(gf>0.2*(max(gf(:)))),[])

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

数字图像处理作业 ——空间域滤波器 摘要 在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。本文利用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进行滤波处理,结果如下图:

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

实验四 图像的傅立叶变换与频域滤波 一、 实验目的 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 进行空域滤波后的图像')

数字图像处理之频率滤波

实验四、频域滤波 一、实验目的 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进行低通滤波;

实验一图像变换及频域滤波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 实验图象

实验三 图像的空间域滤波

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 变换定义为: 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); %显示原图像的频谱

空间域图像滤波

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、理想高通滤波器(IHPF ) ),(),(10),(D v u D D v u D v u H >≤???= 2、巴特沃斯高通滤波器(BHPF ) n v u D D v u H 20),()12(11),(?? ????-+= 3、高斯高通滤波器(GHPF ) 2022/v ,u D 1),(D e v u H )(--= 一、数字图像高通滤波器的实验过程: 1、理想高通滤波器程序 clear all ;clc; image = imread('test.jpg'); gimage_15 = func_ihpf(image,15); gimage_30 = func_ihpf(image,30); gimage_80 = func_ihpf(image,80); figure subplot(221),imshow(image); title('Original'); subplot(222),imshow(gimage_15); title('d0=15'); subplot(223),imshow(gimage_30); title('d0=30'); subplot(224),imshow(gimage_80); title('d0=80'); %被调函数子函数G(u,v)=F(u,v)H(u,v) function gimage = func_ihpf(image,d0) image = double(image); f = fftshift(fft2(image)); [M,N]=size(f); a0 = fix(M/2);

图像的频域滤波

实验六:图像的频域滤波 姓名:朱永祥学号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.实验目的:通过低通滤波器函数模板来处理图像,牺牲图像 清晰度为代价来减少干扰效果的修饰过程。 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时理想低通滤波器转移函数的频谱图及结果

数字图像处理 降噪滤波 大作业

昆明理工大学信息工程与自动化学院学生实验报告 (2015—2016学年第一学期) 课程名称:图形图像基础程序设计开课实验室: 2015年 12月 1 日 一、实验目的及内容 目的:掌握和熟悉Matlab编程环境及语言;掌握图像降噪算法和用途。 内容: 在课程教学和查阅相关文献资料的基础上,选择下面一个数字图像处理技术专题,实现相应算法进行仿真实验,并完成大作业报告。专题如下: (1)图像增强处理技术; (2)图像降噪处理技术。 2、题目分析 利用matlab的GUI程序设计一个简单实用的图像处理程序。该程序应具备图像处理的常用功能,以满足用户的使用。现设计程序有以下基本功能: 1)图像的读取和保存。 2)通过自己输入数值,实现图像的旋转。 3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 4)能对图像加入各种噪声, 5)并通过几种滤波算法实现去噪并显示结果。 6)将图像转化成灰度图像。

3.总体设计 软件的总体设计界面布局如上图所示 分为显示区域与操作区域。 上边为显示区域:显示载入原图,以及通过处理后的图像。操作区域:通过功能键实现对图像的各种处理。 设计完成后运行的软件界面如下:

4、具体设计 现介绍各个功能模块的功能与实现。 4.1图像的读取和保存: (1)利用matlab中“ uigetfile”、“imread”“imshow”实现图像文件的读取与显示: 实现代码: 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)

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

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

三、实验过程 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数字图像处理之高通滤波器

实践二:理想高通滤波器、Butterworth高通滤波器、高斯高通滤波器 2.1.1理想高通滤波器实践代码: I=imread(''); subplot(221),imshow(I); title('原图像'); s=fftshift(fft2(I)); subplot(223), imshow(abs(s),[]); title('图像傅里叶变换所得频谱'); subplot(224), imshow(log(abs(s)),[]); title('图像傅里叶变换取对数所得频谱'); [a,b]=size(s); a0=round(a/2); b0=round(b/2); d=10; p=;q=; fori=1:a forj=1:b distance=sqrt((i-a0)^2+(j-b0)^2); ifdistance<=dh=0; elseh=1; end; s(i,j)=(p+q*h)*s(i,j); end; end; s=uint8(real(ifft2(ifftshift(s)))); subplot(222), imshow(s);title('高通滤波所得图像'); I=imread(''); [f1,f2]=freqspace(size(I),'meshgrid'); Hd=ones(size(I)); r=sqrt(f1.^2+f2.^2); Hd(r<=0; figure surf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong');%画三维曲面(色)图 2.1.2理想高通滤波器实践结果截图: 2.2.1Butterworth高通滤波器实践代码: I1=imread(''); subplot(121),imshow(I1);

数字图像处理灰度变换与空间域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彩色图像之间的转换

实验五 傅立叶变换与频率域滤波

实验五傅立叶变换与频率域滤波 一、实验目的 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)傅立叶变换对

数字图像处理高通滤波器

数字图像处理高通滤波器 姓名:*** 学号:********** 高通滤波就是常见的频域增强的方法之一。高通滤波与低通滤波相反,它就是高频分量顺利通过,使低频分量受到削弱。这里考虑三种高通滤波器:理想高通滤波器、巴特沃斯高通滤波器与高斯高通滤波器。这三种滤波器涵盖了从非常尖锐(理想)到非常平坦(高斯)范围的滤渡器函数,其转移函数分别为: 1、理想高通滤波器(IHPF) ),(),(10),(D v u D D v u D v u H >≤???= 2、巴特沃斯高通滤波器(BHPF) n v u D D v u H 20),()12(11),(?? ????-+= 3、高斯高通滤波器(GHPF) 2022/v ,u D 1),(D e v u H )(--= 一、数字图像高通滤波器的实验过程: 1、理想高通滤波器程序 clear all ;clc; image = imread('test 、jpg'); gimage_15 = func_ihpf(image,15); gimage_30 = func_ihpf(image,30); gimage_80 = func_ihpf(image,80); figure subplot(221),imshow(image); title('Original'); subplot(222),imshow(gimage_15); title('d0=15'); subplot(223),imshow(gimage_30); title('d0=30'); subplot(224),imshow(gimage_80); title('d0=80'); %被调函数子函数G(u,v)=F(u,v)H(u,v) function gimage = func_ihpf(image,d0) image = double(image); f = fftshift(fft2(image)); [M,N]=size(f); a0 = fix(M/2); b0 = fix(N/2); for i=1:M for j=1:N

数字图像处理实验三中值滤波和均值滤波实验报告

数字图像处理实验三 均值滤波、中值滤波的计算机实现12281166 雪莹计科1202班 一、实验目的: 1)熟悉均值滤波、中值滤波处理的理论基础; 2)掌握均值滤波、中值滤波的计算机实现方法; 3)学习VC++ 6。0 的编程方法; 4)验证均值滤波、中值滤波处理理论; 5)观察均值滤波、中值滤波处理的结果。 二、实验的软、硬件平台: 硬件:微型图像处理系统,包括:主机, PC机;摄像机; 软件:操作系统:WINDOWS2000或WINDOWSXP应用软件:VC++ 6.0 三、实验容: 1)握高级语言编程技术; 2)编制均值滤波、中值滤波处理程序的方法; 3)编译并生成可执行文件; 4)考察处理结果。 四、实验要求: 1)学习VC++确6。0 编程的步骤及流程; 2)编写均值滤波、中值滤波的程序;

3)编译并改错; 4)把该程序嵌入试验二给出的界面中(作适当修改); 5)提交程序及文档; 6)写出本次实验的体会。 五、实验结果截图 实验均值滤波采用的是3X3的方块,取周围的像素点取得其均值代替原像素点。边缘像素的处理方法是复制边缘的像素点,增加一个边框,计算里面的像素值得均值滤波。

六、实验体会 本次实验在前一次的实验基础上增加均值滤波和中值滤波,对于椒盐噪声的处理,发现中值滤波的效果更为好一点,而均值滤波是的整个图像变得模糊了一点,效果差异较大。本次实验更加增加了对数字图像处理的了解与学习。 七、实验程序代码注释及分析 // HistDemoADlg.h : 头文件 // #include "ImageWnd.h" #pragma once // CHistDemoADlg 对话框 class CHistDemoADlg : public CDialogEx { // 构造

(实验四)数字图像 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)

相关文档
最新文档