资源描述:
《数字图像处理实验报告材料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实用文案目录实验一:数字图像的基本处理操作41.1:实验目的41.2:实验任务和要求41.3:实验步骤和结果51.4:结果分析8实验二:图像的灰度变换和直方图变换92.1:实验目的92.2:实验任务和要求92.3:实验步骤和结果92.4:结果分析13实验三:图像的平滑处理143.1:实验目的143.2:实验任务和要求143.3:实验步骤和结果143.4:结果分析18实验四:图像的锐化处理194.1:实验目的194.2:实验任务和要求194.3:实验步骤和结果194.4:结果分析21标准文档实用文案实验一:数字图像的基本处理操作1.1:实验目的1、熟悉
2、并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单变换。3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。1.2:实验任务和要求1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。4.对一幅图
3、像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。1.3:实验步骤和结果1.对实验任务1的实现代码如下:a=imread('d:tp.jpg');i=rgb2gray(a);I=im2bw(a,0.5);subplot(1,3,1);imshow(a);title('原图像');subplot(1,3,2);imshow(i);title('灰度图像');subplot(1,3,3);imshow(I);title('二值图像');subplot(1,3,1);imshow
4、(a);title('原图像');结果如图1.1所示:标准文档实用文案图1.1原图及其灰度图像,二值图像1.对实验任务2的实现代码如下:a=imread('d:tp.jpg');A=imresize(a,[800800]);b=imread('d:tp2.jpg');B=imresize(b,[800800]);Z1=imadd(A,B);Z2=imsubtract(A,B);Z3=immultiply(A,B);Z4=imdivide(A,B);subplot(3,2,1);imshow(A);title('原图像A');subplot(3,2
5、,2);imshow(B);title('原图像B');subplot(3,2,3);imshow(Z1);title('加法图像');subplot(3,2,4);imshow(Z2);title('减法图像');subplot(3,2,5);imshow(Z3);title('乘法图像');subplot(3,2,6);imshow(Z2);title('除法图像');结果如图1.2所示:标准文档实用文案1.对实验任务3的实现代码如下:s=imread('d:tp3.jpg');i=rgb2gray(s);i=double(i);j=fft2(
6、i);k=fftshift(j);%直流分量移到频谱中心I=log(abs(k));%对数变换m=fftshift(j);%直流分量移到频谱中心RR=real(m);%取傅里叶变换的实部II=imag(m);%取傅里叶变换的虚部A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800450]);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=rea
7、l(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);标准文档实用文案B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶变换频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶变换频谱');结果如图1.3所示:1.对实验任务4的实现代
8、码如下:s=imread('d:tp3.jpg');i=rgb2gray(s);i=double(i);j