武汉科技大学图像处理实验报告

实验报告要求

每个程序给出图像效果,每个子图像上方标注该图像简要注释。程序代码进行必要的修改完善。

第一次实验报告内容如下:

实验一:图像直方图均衡化与图像滤波

【实验目的】

了解图像直方图的基本数学原理,会编写相应的m函数文件;

掌握matlab图像直方图均衡化、规定化函数.理解图像直方图处理的意义;

掌握噪声模拟和图像滤波函数的使用方法;

理解图像均值滤波、中值滤波的基本原理,掌握Matlab图像滤波基本函数的使用方法。

【实验内容】

自己编写m文件代码,实现求灰度图像的灰度直方图,并与imhist函数的结果比较。

I=imread('rice.bmp');
imshow(I)
figure,imhist(I,64)
figure,imhist(I,128)

自己编写m文件代码,实现某幅图像的3*3的均值滤波。

I=imread('eight.tif');
J=imnoise(I,'salt & pepper',0.02); %对指定的图像加入椒盐噪声
subplot(1,2,1),imshow(J);title('含噪声的图像');
K1=filter2(fspecial('average',3),J)/255; %进行3*3模板的均值滤波
subplot(1,2,2),imshow(K1);title('3*3模板的均值滤波后的图像');

读入一张常见的图象处理图像(譬如: Lena, house等图像),应用IPT的函数对图像作模糊化和添加噪声处理;然后, 参照课本和课堂讲解的例题中的方法对退化的图像进行复原。请写下实验程序代码和必要的代码注释, 整理实验报告.

K1=imread('rice.bmp');
K2=filter2(fspecial('average',3),K1)/255; %进行3*3模板的均值滤波
K3=imnoise(K2,'salt & pepper',0.02); %对指定的图像加入椒盐噪声
K4=medfilt2(K3,[3 3]); %进行3*3模板的中值滤波
subplot(2,2,1),imshow(K1);title('原图像');
subplot(2,2,2),imshow(K2);title('3*3均值滤波后的图像,模糊化');
subplot(2,2,3),imshow(K3);title('加入椒盐噪声后的图像');
subplot(2,2,4),imshow(K4);title('进行3*3模板的中值滤波后的图像');

第二次实验报告内容如下:

实验二:图像频域变换及应用

【实验目的】

了解傅立叶变换、离散余弦变换及Radon变换在图像处理中的应用;

掌握Matlab图像频域变换的基本函数的使用;

理解图像频域变换的意义;

【实验内容】

1 绘制一个二值图像矩阵,并将其傅里叶函数可视化。

说明:这个例子将创建一个矩阵,然后用一个二进制图像显示。再对这个图像矩阵做傅里叶变换,显示其幅值。

%创建矩阵
f=zeros(40,40);
f(5:24,13:17)=1;
subplot(1,2,1),imshow(f);title('矩阵的显示');%进行图像f的傅里叶变换
F=fft2(f);
%对幅值取对数
F2=log(abs(F));
subplot(1,2,2),imshow(F2,[-1 5],'notruesize');title('傅里叶变换显示');

2 调试如下程序。分析该程序的功能,写上必要注释。

figure(1);
f=imread('room.bmp');
f=rgb2gray(f);
subplot(2,2,1),imshow(f); title('原图像');
F=fft2(f);
S=fftshift(log(1+abs(F)));
S=gscale(S);
subplot(2,2,2),imshow(S); title('图像1');
h=fspecial('sobel')';
PQ=paddedsize(size(f));
H=freqz2(h,PQ(1),PQ(2));
H1=double(ifftshift(H));
subplot(2,2,3),imshow(abs(H),[]); title('图像2');
subplot(2,2,4),imshow(abs(H1),[]); title('图像3');
gs=imfilter(double(f),h); %generate the filtered images in the spatial domain.
gf=dftfilt(f,H1); %generate the filtered images in the spatial dom