温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
实验
图像
变换
滤波
实验三,,图像频域变换及滤波
实验三 图像频域变换及滤波 一、实验目的:1. 理解傅立叶变换及离散余弦变换在图像处理中的应用 2. 掌握噪声模拟和空域图像滤波函数的使用方法 3. 掌握频域滤波的概念及方法 4. 利用MATLAB程序进行编程实现数字图像的傅立叶变换、DCT变换、空域及频域滤波 二、实验内容 1. 傅立叶变换 绘制一个二值图像矩阵,并将其傅立叶函数可视化。
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]); % 3x3中值滤波 figure,imshow(K1) K2=filter2(fspecial('average',5),J)/255; figure,imshow(K2) 总结均值滤波和中值滤波的特点及使用场合。
均值滤波器是一种最常用的线性低通平滑滤波器。可抑制图像中的噪声,但同时也使图像变得模糊 中值滤波器是一种最常用的非线性平滑滤波器。可消除图像中孤立的噪声点,又可产生较少的模糊 对图像 '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); % 傅立叶变; % 计算低通滤波器传递函数,教材P261,式:8-49 result(i,j) = h x G(i,j); end; end; result = ifftshift(result); J2 = ifft2(result); J3 = uint8(real(J2)); figure,imshow(J3,[]); % 显示滤波处理后的图像 (2)频域高通滤波 % 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= ); % 计算高通滤波器传递函数,教材P265,式:8-56 result(i,j) = h x G(i,j); end; end; result = ifftshift(result); J2 = ifft2(result); J3 = uint8(real(J2)); figure,imshow(J3,[]); % 显示滤波处理后的图像 三、要求及思考题〔此局部内容作为实验报告 “五、实验总结与体会〞中的一局部〕1. 描述实验的根本步骤,用数据和图片给出各个步骤中取得的实验结果并进行必要的讨论。
2. 必须包括原始图像及其计算处理后的图像以及相应的解释。
3. 对“2.(3)利用DCT变换进行图像压缩〞 中的mask模板矩阵进行修改,分别增加、减少其中的1的个数,例如增加到15个,减少到6个〔注意mask模板矩阵的修改〕,进行实验,分析比对结果, 4.对“4.(1)频域低通滤波〞局部的噪声函数进行修改,改为“系数0.01的‘gaussian’〞噪声,对“4. (2)频域高通滤波〞局部的噪声函数进行修改,改为“‘salt&pepper’类型〞噪声,进行实验比对,分析巴特沃斯(Butterworth)高通滤涉及低通滤波的特点。