2023年数字图像处理实验报告版.doc
26页目录实验一: 数字图像的基本解决操作 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、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简朴变换3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换1.2:实验任务和规定1. 读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内提成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题2. 对两幅不同图像执行加、减、乘、除操作,在同一个窗口内提成五个子窗口来分别显示,注上文字标题。
3. 对一幅图像进行平移,显示原始图像与解决后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的相应关系4. 对一幅图像进行旋转,显示原始图像与解决后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的相应关系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(a);title('原图像');结果如图1.1 所示:图1.1 原图及其灰度图像,二值图像2. 对实验任务2的实现代码如下:a=imread('d:\tp.jpg');A=imresize(a,[800 800]);b=imread('d:\tp2.jpg');B=imresize(b,[800 800]);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,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所示:3. 对实验任务3的实现代码如下:s=imread('d:\tp3.jpg');i=rgb2gray(s);i=double(i);j=fft2(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,[800 450]);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(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所示:4. 对实验任务4的实现代码如下:s=imread('d:\tp3.jpg');i=rgb2gray(s);i=double(i);j=fft2(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=imrotate(s,-90);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(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.4所示:1.4:结果分析对MATLAB软件的操作开始时不太熟悉,许多语法和函数都不会使用,写出程序后,调试运营,最开始无法显示图像,检查因素,是有些标点符号没有在英文状态下输入和一些其他的细节,学会了imread(),imshow(),rgb2gray()等函数。
实验二: 图像的灰度变换和直方图变换2.1: 实验目的1、熟悉及掌握图像的采样原理,实现图像的采样过程,进行图像的灰度转换 2、理解直方图的概念及应用,实现图像直方图的显示,及通过直方图均衡对图像进行修正2.2:实验任务和规定1、 对一幅图像进行2倍、4倍、8倍和16倍减采样,显示结果2、 显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图3、 对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内提成四个子窗口来分别显示,注上文字标题4、 对一副图像进行直方图均衡化,显示结果图像和相应直方图5、 对一副图像进行如图所示的分段线形变换解决,试比较与直方图均衡化解决的异同2.3:实验环节和结果1.对实验任务1的实现代码如下: a=imread('d:\tp2.jpg'); b=rgb2gray(a);for m=1:4figure[width,height]=size(b);quartimage=zeros(floor(width/(m)),floor(height/(2*m)));k=1;n=1;for i=1:(m):widthfor j=1:(2*m):heightquartimage(k,n)=b(i,j);n=n+1;endk=k+1;n=1;endimshow(unit8(quartimage));end结果如图所示:2. 对实验任务2的实现代码如下: a=imread('d:\tp2.jpg'); c=rgb2gray(a); b=c-46; subplot(3,2,1);imshow(c);title('原图像') subplot(3,2,2);imhist(c);title('原图像的直方图') subplot(3,2,3);imshow(b);title('变暗后的图像') subplot(3,2,4);imhist(b);title('变暗后的图像直方图'); d=imadjust(c,[0,1],[1,0]); subplot(3,2,5);imshow(d);title('反转图像');结果如图2.2所示:3. 对实验任务3的实现代码如下:a=imread('d:\tp.jpg');m=imadjust(a,[,],[0.5;1]);%图像变亮n=imadjust(a,[,],[0;0.5]);%图像变暗g=255-a;%负片效果subplot(2,2,1);imshow(a);title('原图像');subplot(2,2,2);imshow(m);title('图像变亮');subplot(2,2,3);imshow(n);title('图像变暗');subplot(2,2,4);imshow(g);title('负片效果');结果如图所示:4. 对实验任务4的实现代码如下:b=imread('d:\tp.jpg');c=rgb2gray(b);j=histeq(c);subplot(2,2,1),imshow(c);subplot(2,2,2),imshow(j);subplot(2,2,3),imhist(c);subplot(2,2,4),imhist(j);结果如图2.4所示:5. 对实验任务5的实现代码如下:x1=0:0.01:0.125;x2=0.125:0.01:0.75;x3=0.75:0.01:1;y1=2*x1;y2=0.25+0.6*(x2-0.125);y3=0.625+1.5*(x3-0.75);x=[x1,x2,x3];y=[y1,y2,y3];plot(x,y);结果如图所示:2.4:结果分析这次实验重要是对图像的灰度变换和直方图均衡化,实验内容涉及灰度拉伸、图像反转、图像的二值化以及直方图均衡。
通过实验将课本上理论知识加以实践,实验过程中明白了图像解决的一些技巧但是以上几种方法采用的基本都是线性变换法,在实际应用中存在很多缺陷它只能解决一些黑白分明的图像,而对于一些颜色丰富或者解决比较复杂图像时,往往于心局限性实验三: 图像的平滑解决3.1: 实验目的1、熟悉并掌握常见的图像噪声种类;2、理解并掌握常用的图像的平滑技术,如邻域平均法和中值滤波的原理、特点、合用对象3.2:实验任务和规定1、 读出lena.jpg这幅图像,给这幅图像分别加入椒盐噪声、高斯噪声和乘性噪声后并与前一。





