1、数字图像处理一. 实验目的掌握数字图象处理的基本方法,会用MATLAB或C语言等进行图象处理。二. 实验工具PC MATLAB三. 实验内容1产生右图所示图像 f1(x,y)(128128 大小,暗处=0,亮处=255),用MATLAB 中的fft2 函数对其进行FFT:(1) 同屏显示原图f1 和FFT(f1)的幅度谱图;(2) 若令,重复以上过程,比较二者幅度谱的异同,简述理由;(3) 若将f2(x,y)顺时针旋转45 度得到f3(x,y),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进行比较。2. 对256256 大小、256 级灰度的数字图像lena.img 进行频域的理想
2、低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。3. 对给定的两种128128、256 级灰度的数字图像(图像磁盘文件名分别为Fing_128.img(指纹图)和Cell_128.img(显微医学图像)进行如下处理:(1) 对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同,并回答为什么数字图像均衡化后其直方图并非完全均匀分布。(2) 对原图像加入点噪声,用4-邻域平均法平滑加噪声图像(图像四周边界不处理,下同),同屏显示原图像、加噪声图像和处理后的图像。不加门限;加门限,(其中)4. 1 用Laplacian锐化算子(分 = 1和 = 2 两种情况)对25
3、6256 大小、256 级灰度的数字图像lena.img进行锐化处理,显示处理前、后图像。(2)若令则回答如下问题:1 、和之间有何关系?2 代表图像中的哪些信息?3 由此得出图像锐化的实质是什么?5. 分别利用Roberts、Prewitt、Sobel 边缘检测算子,对256256 大小、256 级灰度的数字图像lena.img进行边缘检测,显示处理前、后的图像。四. 实验结果1实验结果图:图1分别给出了:(1)(2)(3)的原图和相应FFT的幅度谱图:图1MATLAB 程序:f1 = zeros(128,128);for x=20:100 for y=50:78 f1(x,y) = 1;
4、endendsubplot(3,2,1)imshow(f1);F1=fft2(f1);subplot(3,2,2)imshow(F1);F2=fftshift(F1);subplot(3,2,4)imshow(F2);f2=ifft2(F2);subplot(3,2,3)imshow(f2);f3=imrotate(f2,45,bilinear);subplot(3,2,5)imshow(f3);F3=fft2(f3);subplot(3,2,6)imshow(F3);2.低通滤波:fid=fopen(F:数字图象处理数字图像处理上机Lena.img,r);data=(fread(fid,25
5、6,256,uint8);subplot(1,2,1)imagesc(data);colormap(gray);title(LENA,Color,r);fft_lena=fft2(data);f=fftshift(fft_lena);for i=1:256 for j=1:256 if sqrt(i-128)2+(j-128)2)30 f(i,j)=0; end endendsubplot(1,2,2);x,y=meshgrid(1:1:256);surf(x,y,f);高通滤波fid=fopen(F:数字图象处理数字图像处理上机Lena.img,r);data=(fread(fid,256,
6、256,uint8);subplot(1,2,1)imagesc(data);colormap(gray);title(LENA,Color,r);fft_lena=fft2(data);for i=1:256 for j=1:256 if sqrt(i-128)2+(j-128)2)2 f(i,j)=0; end endendsubplot(1,2,2);x,y=meshgrid(1:1:256);surf(x,y,f);3(1)原图直方图均衡化处理:Fing_128图像的处理前后图像及其直方图:程序:figure(1);fid=fopen(F:数字图象处理数字图像处理上机fing_128.
7、img,r); data1=(fread(fid,128,128,uint8); subplot(2,2,1) data2=uint8(data1);imshow(data2);subplot(2,2,2);imhist(data2); a=imadjust(data2,0,0.5);subplot(2,2,4);imhist(a);subplot(2,2,3);imshow(a,256); %显示均衡化图象,256可缺省Cell_128图象的处理前后图像及其直方图:数字图象均衡化后,其直方图并非完全均匀分布,这是因为图象的象素个数和灰度等级均为离散数值;而且均衡化使灰度级并归,因此,均衡化后
8、,其直方图并非完全均匀分布。(2)去除噪声处理Fing_128原图像,加噪图像和处理后图像Cell_128原图像,加噪图像和处理后图像:程序:fid=fopen(F:数字图象处理数字图像处理上机fing_128.img,r); %打开无格式文件data1=(fread(fid,128,128,uint8); %将打开的文件读入到data1subplot(1,3,1); %取第二个子窗口data2=uint8(data1);%将灰度图象转换成uint8格式imshow(data2);subplot(1,3,2);I=imnoise(data2,gaussian,0,0.01);imshow(I)
9、;I2=double(I);%因为有运算 要将操作数改为doubleI1=zeros(128,128);for i=2:127 for j=2:127 I1(i,j)=(I2(i-1,j)+I2(i+1,j)+I2(i,j-1)+I2(i,j+1)/4; endendfor j=1:128 I1(1,j)=I(1,j); I1(128,j)=I(128,j); I1(j,1)=I(j,1); I1(j,128)=I(j,128);endsubplot(1,3,3);I1=uint8(I1);% 用imshow显示时需要将数据改成uintimshow(I1);4(1)g1(m,n)处理的结果g2
10、(m,n)处理的结果程序:figure(1);fid=fopen(F:数字图象处理数字图像处理上机lena.img,r); data1=(fread(fid,256,256,uint8); subplot(2,2,1) data2=uint8(data1);imshow(data2);I=double(data2);for i=2:255 for j=2:255 I1(i,j)=-I(i-1,j)-I(i+1,j)-I(i,j-1)-I(i,j+1)+5*I(i,j); endendfor j=1:256 I1(1,j)=I(1,j); I1(256,j)=I(256,j); I1(j,1)=
11、I(j,1); I1(j,256)=I(j,256);endI2=uint8(I1);subplot(2,2,2);imshow(I2);for i=2:255 for j=2:255 I3(i,j)=-2*I(i-1,j)-2*I(i+1,j)-2*I(i,j-1)-2*I(i,j+1)+9*I(i,j); endendfor j=1:256 I3(1,j)=I(1,j); I3(256,j)=I(256,j); I3(j,1)=I(j,1); I3(j,256)=I(j,256);endI4=uint8(I3);subplot(2,2,3);imshow(I4);(2)LENA图象锐化处理
12、中,g2(m,n)代表了原图象中的二阶梯度信息;g1(m,n)是边缘增强后的数字图象;图象锐化的实质是将原图象与梯度信息叠加,相当于对目标物的边缘进行了增强。5.边缘检测结果:程序:figure(1);fid=fopen(C:Documents and SettingsAdministratorMy DocumentsMATLABimgeprocesslena.img,r); data1=(fread(fid,256,256,uint8); subplot(2,2,1) data2=uint8(data1);imshow(data2);title(lena)subplot(2,2,2);A=edge(data2,roberts);imshow(A);title(roberts)subplot(2,2,3);B=edge(data2,prewitt);imshow(B);title(prewitt)subplot(2,2,4);C=edge(data2,sobel);imshow(C);title(sobel)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1