当前位置:首页 > 数字图像处理实验报告(matlab)
实验目的:
1. 熟悉图像数据在频率域的表示; 2. 掌握频域图像增强的基本步骤。
实验条件:
PC微机一台和MATLAB软件。
实验内容:
1. 综合利用所学的数字图像基本存储结构、图像变换、图像增强等知识实现频率域图像增强;
2. 在频率域进行用半径值分别为5,15,30,80和230的理想低通滤波器对图像进行平滑,并观察滤波效果。
实验步骤:
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’函数保存图像处理结果数据。
实验程序及结果:
Function idlvbo(r) I=imread('test2.jpg'); subplot(1,2,1),imshow(I); title('test2原图像'); f=double(I); g=fft2(f); g=fftshift(g); [M,N]=size(g); m=fix(M/2); n=fix(N/2); clc
for i=1:M forj=1:N
d=sqrt((i-m)^2+(j-n)^2);
if d>r h=0; else h=1; end
result(i,j)=h*g(i,j); end end
result=ifftshift(result); J1=ifft2(result); J2=uint8(real(J1));
subplot(1,2,2),imshow(J2);
title('理想低通滤波处理后的图象'); imwrite(J2,'J2.jpg')数字图像处理
r=5的图形
r=15的图形
r=30的图形
r=80的图形
r=160的图形
r=230的图形
实验思考
1. 在FFT变换前后,为什么要将各点数乘以-1的(x+y)次方?不乘能否实现低滤波? 在FFT变换前后,将各点数乘以-1的(x+y)次方,是为了将图像处理后它的中低频数据处于图像中央位置。
2. 与空间域图像增强相比,频率域图像处理有什么优点? 频率域图像处理是把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强;空间域图像增强的方法是直接对图像中的像素进行处理的过程。
共分享92篇相关文档