《2023年数字图像处理上机作业.docx》由会员分享,可在线阅读,更多相关《2023年数字图像处理上机作业.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023年数字图像处理上机作业 数字图像处理上机实验题 一、产生右图所示图像 f1(m,n),其中图像大小为256256,中间亮条为12832,暗处=0,亮处=100。对其进行 FFT: 1、屏显示原图 f1(m,n)和FFT(f1)的幅度谱图; 2、令f2(m,n)=(-1)(m+n)*f1(m,n),重复以上过程,比较二者幅度谱的异同,简述理由; 3、若将f2(m,n)顺时针旋转 90 度得到f3(m,n),试显示 FFT(f3)的幅度谱,并与 FFT(f2) 的幅度谱进行比较; 4、若将f1(m,n) 顺时针旋转 90 度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n
2、),试显示 FFT(f5) 的幅度谱,并指出其与 FFT(f1)和FFT(f4)的关系; 5、若令f6(m,n)=f2(m,n)+f3(m,n),试显示 FFT(f6)的幅度谱,并指出其与 FFT(f 2)和FFT(f3) 的关系,比较 FFT(f6)和FFT(f5)的幅度谱。 代码 f1=zeros(256,256); for i =64:1:191 for j = 112:1:143 f1(i,j) = 100; end end f2 = fft2(f1); %f2(m,n) = f3 f3 = (-1)(i+j)*f1; f4 = fft2(f3); %f3(m,n) = f5 f5 =
3、 imrotate(f3,90,bilinear); f6 = fft2(f5); %f4(m,n) = f7 f7 = imrotate(f1,90,bilinear); f8 = fft2(f7); %f5(m,n) = f8 f9 = f1 + f7; f10 = fft2 (f9); %f6(m,n) = f2(m,n)+f3(m,n) f11 = f3 + f5; f12 = fft2(f11); figure(1) subplot(1,2,1); imshow(abs(f1); title(原图f1); subplot(1,2,2); imshow(abs(f2); title(幅
4、度谱fft2(f1); figure(2) subplot(2,2,1) imshow(abs(f1); title(原图f1) subplot(2,2,2) imshow(abs(f2); title(幅度谱fft2(f1); subplot(2,2,3); imshow(abs(f3) title(变换谱f2); subplot(2,2,4); imshow(abs(f4); title(幅度谱fft2(f2); figure(3) subplot(2,2,1) imshow(abs(f3) title(变换谱f2); subplot(2,2,2); imshow(abs(f4); tit
5、le(幅度谱fft2(f2); subplot(2,2,3); imshow(abs(f5) title(变换谱f3); subplot(2,2,4); imshow(abs(f6); title(幅度谱fft2(f3); figure(4) subplot(3,2,1); imshow(f7); title(f1旋转图f4); subplot(3,2,2); imshow(abs(f8); title(幅度谱fft2(f4); subplot(3,2,3); imshow(f9); title(f5(m,n)=f1+f4); subplot(3,2,4); imshow(abs(f10);
6、title(幅度谱fft2(f5); subplot(3,2,5) imshow(abs(f1); title(原图f1); subplot(3,2,6); imshow(abs(f2); title(幅度谱fft2(f1); figure(5) subplot(3,2,1) imshow(abs(f3) title(变换谱f2); subplot(3,2,2); imshow(abs(f4); title(幅度谱fft2(f2); subplot(3,2,3); imshow(abs(f5) title(变换谱f3); subplot(3,2,4); imshow(abs(f6); titl
7、e(幅度谱fft2(f3); subplot(3,2,5) imshow(abs(f11) title(变换谱f6=f2+f3); subplot(3,2,6); imshow(abs(f12); title(幅度谱fft2(f6); figure(6) subplot(2,2,1); imshow(f9); title(f5(m,n)=f1+f4); subplot(2,2,2); imshow(abs(f10); title(幅度谱fft2(f5); subplot(2,2,3) imshow(abs(f11) title(变换谱f6(m,n)=f2+f3); subplot(2,2,4)
8、; imshow(abs(f12); title(幅度谱fft2(f6); 结果 分析 2、F2(m,n)与F1(m,n)幅度值相同,f2(m,n)=(-1)(m+n)*f1(m,n)中,并未改变幅值。 3、FFT(f2) 比FFT(f3)幅值大。 4、f5=f1+f4,即幅值相加。 5、f6=f2+f3,即幅值相加。 二、产生教材 104 页题图 4.18 (右图)所示的二值图像(白为1,黑为0),编程实现习题4.18 所要求的处理(3*3 的平均滤波和中值滤波)功能(图像四周边界不考虑,处理结果按四舍五入仍取(0或1),显示处理前后的图像,比较其异同。 代码 I= 1,0,1,0,1,0,
9、1,0; 0,1,0,1,0,1,0,1; 1,0,1,0,1,0,1,0; 0,1,0,1,0,1,0,1; 1,0,1,0,1,0,1,0; 0,1,0,1,0,1,0,1; 1,0,1,0,1,0,1,0; 0,1,0,1,0,1,0,1; J=imhist(I,2); K=filter2(fspecial(average,3),I); K1=round(K); J1=imhist(K1,2); K2=medfilt2(I); J2=imhist(K2,2); figure(1) subplot(2,2,1) imshow(I); title(原图像); subplot(2,2,2) i
10、mshow(J); title(原图像直方图); subplot(2,2,3) imshow(K1); title(3*3领域平均); subplot(2,2,4) imshow(J1); title(领域平均图像直方图) figure(2) subplot(2,2,1) imshow(I); title(原图像); subplot(2,2,2) imshow(J); title(原图像直方图); subplot(2,2,3) imshow(K2); title(中值滤波); subplot(2,2,4) imshow(J2); title(中值滤波图像直方图) 结果 三、产生教材 104 页
11、题图 4.16 所示的灰度图像(白为255 ,黑为0),分别加入高斯白噪声和椒盐噪声,再分别进行 3 3 的平均滤波和中值滤波,显示原图像、加噪图像和滤波结果图像,并比较四种滤波结果。 代码 f=zeros(256,256); for i =23:1:23 3for j=28:1:35 f(i,j)=255; end for j=52:1:59 f(i,j)=255; end for j=76:1:83 f(i,j)=255; end for j=100:1:107 f(i,j)=255; end for j=124:1:131 f(i,j)=255; end for j=148:1:155
12、f(i,j)=255; end for j=172:1:179 f(i,j)=255; end for j=196:1:203 f(i,j)=255; end for j=220:1:227 f(i,j)=255; end end g=imnoise(f,gauian,0.2); s=imnoise(f,salt & pepper,0.2); k1=filter2(fspecial(average,3),g); G1=round(k1); G2=medfilt2(g); k2=filter2(fspecial(average,3),s); S1=round(k2); S2=medfilt2(s
13、); figure(1) imshow(f) title(-); figure(2) subplot(3,2,1) imshow(g) title(); subplot(3,2,2) imshow(s) title(); subplot(3,2,3) imshow(G1) title(); subplot(3,2,5) imshow(G2) title(); subplot(3,2,4) imshow(S1) title(); subplot(3,2,6) imshow(S2) title(); 结果 四、对某一灰度图像,进行如下处理: (1)分别利用 Roberts、Prewitt和Sobe
14、l 边缘检测算子进行边缘检测; (2)将Roberts、Prewitt和Sobel 边缘检测算子修改为锐化算子,对原图像进行锐化,同屏显示原图像、边缘检测结果和锐化后图像,说明三者之间的关系。 代码 f1=imread(C:UsershpPictures1.jpg); f2=rgb2gray(f1); k1=edge(f2,Roberts); k2=edge(f2,Prewitt); k3=edge(f2,Sobel); k4=filter2(fspecial(Prewitt),f2); k5=filter2(fspecial(Prewitt),f2); k6=filter2(fspecial
15、(Sobel),f2); figure(1) subplot(4,2,1) imshow(f1); title(yuanshi); subplot(4,2,2) imshow(f2); title(huidu); subplot(4,2,3) imshow(k1); title(Roberts); subplot(4,2,5) imshow(k2); title(Prewitt); subplot(4,2,7) imshow(k3); title(Sobel); subplot(4,2,4) imshow(k4); title(log); subplot(4,2,6) imshow(k5);
16、title(Prewitt); subplot(4,2,8) imshow(k6); title(Sobel); 结果 二值化。 五、编程实现教材 214 页所给图像门限化分割的迭代阈值算法,实现对某一灰度图像的代码 f1=imread(C:UsershpPictures11.jpg); f2=rgb2gray(f1); f3=f2; zm=max(f2(:); zi=min(f2(:); k=2; T(k)=(zm+zi)/2; while T(k)=T(k-1); r1=find(f2T(k); k=k+1; T(k)=(mean(f2(r1)+mean(f2(r2)/2; end r3=
17、find(f3T(k); f3(r3)=0; f3(r4)=255; figure(1) subplot(221) imshow(f1) title(原始图像); subplot(222) imshow(f2) title(灰度图像); subplot(223) imshow(f3) title(迭代阈值算法二值化); 结果 心得体会 通过此次作业让我明白了很多,实际操作起来往往比理论所想的要复杂很多。当然,在课设的进行过程中,我还是遇到了不少问题。例如,起初由于我对句柄使用以及一些函数使用的不恰当。随着课设的进行,对matlab的的熟悉度逐步加深。 总体来说,此次的课程设计,还是较为满意的。它不但鞭策着我去巩固matlab的基础理论知识,还提高了我对matlab的实际操作运用,使得理论与实践相结合,为进一步学习matlab打下坚实的基础;同时,在实践的工程中,也让我体会到一种努力付出并得到回报的满足感觉。 数字图像处理上机作业 数字图像处理上机报告 数字图像处理上机实验(02091008) 数字图像处理 数字图像处理 数字图像作业 北邮数字图像处理作业 数字图像处理期中作业报告 数字图像处理实验教案 学习数字图像处理心得