实验三,,图像频域变换及滤波

  • 格式:doc
  • 大小:27.50 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三,,图像频域变换及滤波实验3 图象频域变换及滤波 1、实验目的: 1. 理解傅立叶变换及离散余弦变换在图象处理中的利用 2. 掌握噪声摹拟和空域图

象滤波函数的使用方法 3. 掌握频域滤波的概念及方法 4. 利用MATLAB程序进行编程实现数字图象的傅立叶变换、DCT变换、空域及频域滤波 2、实验内容 1. 傅立叶变换绘制1个2值图象矩阵,并将其傅立叶函数可视化。

f=zeros(30,30); f(5:24,13:17)=1; figure;imshow(f)

F=fft2(f); F2=log(abs(F)); figure,imshow(F2,[]);

F=fft2(f,256,256); %零填充为256×256矩阵

figure,imshow(log(abs(F))); F2=fftshift(F); %将图象频谱

中心由矩阵原点移至矩阵中心 figure,imshow(log(abs(F2))); 2. 离散余弦变换(DCT) (1) 使用dct2对图象‘lena.bmp’进行DCT变换。

RGB=imread('lena.bmp'); figure;imshow(RGB)

I=rgb2gray(RGB); %转换为灰度图象 figure,imshow(I) J=dct2(I); figure,imshow(log(abs(J)),[]); (2)将上述DCT变换结果中绝对

值小于10的系数舍弃,使用idct2重构图象并与原图象比较。

RGB=imread('lena.bmp'); I=rgb2gray(RGB); %转换为灰

度图象 J=dct2(I); figure,imshow(I) K=idct2(J);

figure,imshow(K,[0 255]) J(abs(J) 对上述噪声图象进行均值滤波和中值滤波,比较滤波效果。

I=imread('eight.tif'); J=imnoise(I,'salt & pepper',0.02); figure,imshow(J) K1=medfilt2(J,[3 3]); % 3*3中值滤波figure,imshow(K1) K2=filter2(fspecial('average',5),J)/255;

figure,imshow(K2) 总结均值滤波和中值滤波的特点及使用处合。

均值滤波器是1种最经常使用的线性低通平滑滤波器。可抑制

图象中的噪声,但同时也使图象变得模糊中值滤波器是1种最经常

使用的非线性平滑滤波器。可消除图象中孤立的噪声点,又可产生较

少的模糊对图象'rice.png'采取'laplacian'高通滤波器进

行锐化滤波。

I=imread('rice.png'); figure,imshow(I) h=fspecial('laplacian'); % fspecial用于建立预定义的滤波算子

I2=filter2(h,I); figure,imshow(I2) 4. 频域滤波 (1)频域低通滤

波图象中的边沿和噪声都对应图象傅立叶变换中的高频部份,如要

在频域中消弱其影响,想法减弱这部份频率的份量。选择适合的H(u,v)以得到消弱F(u,v)高频份量的G(u,v)。所以低通滤波可以除去或消

弱噪声的影响并模糊边沿轮廓,与空域中的平滑方法类似。

典型的低通滤波器:(见教材)–理想低通滤波器–Butterworth低通滤波器–…… % Butterworth低通滤波器实现平

滑 I=imread('lena256.bmp'); %读入原图象文件 figure(1); imshow(I); %设定窗口,显示原图象 J1=imnoise(I,'salt & pepper'); % 叠加椒盐噪声 figure(2); imshow(J1); F = double(J1); % 数据类型转换,MATLAB不支持图象的无符号整

型的计算 G = fft2(F); % 傅立叶变换 G= fftshift(G); [M,N]=size(G); nn = 2; % 2阶巴特沃斯(Butterworth)低通滤波器 d0 = 50; m = fix(M/2); n = fix(N/2); for i = 1 : M for j = 1 : N d = sqrt((i-m) +(j-n) ); h = 1/(1+ ( % Butterworth

高通滤波器实现平滑 I=imread('lena256.bmp'); %读入原图象

文件 figure(1); imshow(I); %设定窗口,显示原图象

J1=imnoise(I,'gaussian',0.001); % 叠加高斯噪声 figure(2); imshow(J1); F = double(J1); % 数据类型转换,MATLAB不

支持图象的无符号整型的计算 G = fft2(F); % 傅立叶变换

G= fftshift(G); [M,N]=size(G); nn = 2; % 2

阶巴特沃斯(Butterworth)高通滤波器 d0 = 50; m = fix(M/2); n = fix(N/2); for i = 1 : M for j = 1 : N d

= sqrt((i-m) +(j-n) ); h = 1/(1+ 0.414*(此部份内

容作为实验报告“5、实验总结与体会”中的1部份) 1. 描写实验

的基本步骤,用数据和图片给出各个步骤中获得的实验结果并进行必

要的讨论。

2. 必须包括原始图象及其计算处理后的图象和相应的解释。

3. 对“2.(3)利用DCT变换进行图象紧缩” 中的mask模板矩

阵进行修改,分别增加、减少其中的1的个数,例如增加到15个,

减少到6个(注意mask模板矩阵的修改),进行实验,分析比对结果,

4.对“4.(1)频域低通滤波”部份的噪声函数进行修改,改成“系数

0.01的‘gaussian’”噪声,对“4. (2)频域高通滤波”部份的噪

声函数进行修改,改成“ ‘salt&pepper’类型”噪声,进行实验比

对,分析巴特沃斯(Butterworth)高通滤波及低通滤波的特点。