数字图像处理 实验报告(完整版)

上传人:沈*** 文档编号:114209158 上传时间:2022-06-28 格式:DOC 页数:35 大小:76KB
收藏 版权申诉 举报 下载
数字图像处理 实验报告(完整版)_第1页
第1页 / 共35页
数字图像处理 实验报告(完整版)_第2页
第2页 / 共35页
数字图像处理 实验报告(完整版)_第3页
第3页 / 共35页
资源描述:

《数字图像处理 实验报告(完整版)》由会员分享,可在线阅读,更多相关《数字图像处理 实验报告(完整版)(35页珍藏版)》请在装配图网上搜索。

1、数字图像处理 实验报告(完整版)第一篇:数字图像处理 实验报告(完整版)数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中; 2利用whos 命令提取该读入图像flower.tif的基本信息; 3利用imshow()函数来显示这幅图像; 实验结果如下图:源代码:I=imread(lily.tif) whos I imshow(I)二、压缩图像4利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lil

2、y.jpg;语法:imwrite(原图像,新图像,quality,q), q取0-100。6同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。 7用imread()读入图像Sunset.jpg和Winter.jpg; 8用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。 其中9的实验结果如下图:源代码:46(接上面两个)I=imread(lily.tif) imfinfo lily.tif; imwrite(

3、I,lily.jpg,quality,2022 imwrite(I,lily.bmp); 79I=imread(Sunset.jpg);J=imread(Winter.jpg)imfinfo Sunset.jpg imfinfo Winter.jpgfigure(1),imshow(Sunset.jpg)figure(2),imshow(Winter.jpg)三、二值化图像10用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。 实验结果如下图:源代码: I=imread(lily.tif) gg=im2bw(I,0.4); Figure, imshow(gg)

4、原始图像:四、思考题(1) 简述MatLab软件的特点。答:高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;具有完备的图形处理功能,实现计算结果和编程的可视化;友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。(2) MatLab软件可以支持哪些图像文件格式?JPEG、JPEG、PCX、TIFF、PNG、GIF、HDF、XWD等等。 (3) 说明函数imread 的用途格式以及各种格式所得到图像的性质。imread函数用于读入各种图像文件,其一般的用法为X,MAP

5、=imread(filename,fmt) 其中,X,MAP分别为读出的图像数据和颜色表数据,fmt为图像的格式,filename为读取的图像文件(可以加上文件的路径)。(4) 为什么用I = imread(lena.bmp) 命令得到的图像I 不可以进行算术运算?Matlab系统默认的算术运算时针对双精度类型(double)的数据,而上述命令产生的矩阵的数据类型是无符号8位,直接 进行运算会溢出。实验二 图像的代数运算一图像的加法运算在MATLAB中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。imadd函数将某一幅输入图像的每一个像素值与另一幅图像相

6、应的像素值相加,返回相应的像素值之和作为输出图像。imadd函数的调用格式如下:Z = imadd(X,Y)其中,X和Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。 实验结果如下图:源代码:I = imread(Sunset.jpg); J = imread(Bluehills.jpg); K = imadd(I,J);imshow(K);(两幅图尺寸大小一致) 原始图像:给图像的每一个像素加上一个常数可以使图像的亮度增加。效果如下:源代码RGB = imread(cameraman.tif); RGB2 = imadd(RGB,50); subplot(1,2,1);imshow

7、(RGB); subplot(1,2,2);imshow(RGB2);二、图像的减法运算在MATLAB中,使用imsubtract函数可以将一幅图像从另一幅图像中减去,或者从一幅图像中减去一个常数。imsubtract函数将一幅输入图像的像素值从另一幅输入图像相应的像素值中减去,再将这个结果作为输出图像相应的像素值。imsubtract函数的调用格式如下:Z = imsubtract(X,Y);其中,Z是X-Y操作的结果。 实验结果如下图:源代码rice = imread(cameraman.tif) background = imopen(rice, strel(disk,15) rice2

8、 = imsubtract(rice, background) subplot(1,2,1);imshow(rice); subplot(1,2,2);imshow(rice2);三、图像的乘法运算在MATLAB中,使用immultiply函数实现两幅图像的乘法。immultiply函数将两幅图像相应的像素值进行元素对元素的乘法操作(MATLAB点乘),并将乘法的运算结果作为输出图形相应的像素值。immulitply函数的调用格式如下:Z = immulitply(X,Y) 其中,Z=X*Y。 实验结果如下图:源代码I = imread(zhaowei.bmp) J = immultiply(

9、I,1.2) subplot(1,2,1);imshow(I) subplot(1,2,2);imshow(J)四、图像的除法运算在MATLAB中使用imdivide函数进行两幅图像的除法。imdivide函数对两幅输入图像的所有相应像素执行元素对元素的除法操作(点除),并将得到的结果作为输出图像的相应像素值。imdivide函数的调用格式如下:Z = imdivide(X,Y) 其中,Z=X/Y。 实验结果如下图:源代码Rice = imread(cameraman.tif); I = double(Rice); J= I * 0.43 + 90 Rice2 = uint8(J) Ip =

10、imdivide(Rice, Rice2) Imshow(Ip, )原图像五、思考题由图像算术运算的运算结果,思考图像减法运算在什么场合上发挥优势?答:使用背景减法进行运动目标检测可以提取出完整的目标图像可将所得标用于进一步的图像处理工作中。除去人身体在环境中运动产生的动态区域外背景减法对其它的动态场景的变化、干扰等特别敏感背景图像获取的理想情况是在场景没有运动因素,最简单背景获取方法是当场景中任何目标时采集一幅图像作为背景图像,但这种固定背景图像的方法只适合应于外界条件较好的场。实验三 图像增强空域滤波一、实验内容与步骤a) 调入并显示原始图像Sample2-1.jpg 。b) 利用imno

11、ise 命令在图像Sample2-1.jpg 上加入高斯(gaussian) 噪声c)利用预定义函数fspecial 命令产生平均(average)滤波器-1-1-1-19-1-1-1-1d)分别采用3x3和5x5的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果;e)选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。f)利用imnoise 命令在图像Sample2-1.jpg 上加入椒盐噪声(salt & pepper) g)重复c) e)的步骤h)输出全部结果并进行讨论。二、实验结果与源代码源代码

12、I=imread(cameraman.tif); J = imnoise(I,gauss,0.02); J = imnoise(I,salt & pepper,0.02); ave1=fspecial(average,3); ave2=fspecial(average,5); K = filter2(ave1,J)/255; L = filter2(ave2,J)/255; M = medfilt2(J,3 3); N = medfilt2(J,4 4); imshow(I); figure,imshow(J); figure,imshow(K); figure,imshow(L); figu

13、re,imshow(M); figure,imshow(N);三、思考题/问答题(1) 简述高斯噪声和椒盐噪声的特点。高斯噪声是指噪声的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。 高斯白噪声包括热噪声和散粒噪声。而椒盐噪声是指椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起。(2) 结合实验内容,定性评价平均滤波器/中值滤波器对高斯噪声和椒盐噪声的去噪效果?通过实验可以看出,中

14、值滤波对椒盐噪声的消噪处理效果比较好,但是对高斯噪声的消噪处理效果不是很理想(3) 结合实验内容,定性评价滤波窗口对去噪效果的影响?对比实验结果可以发现:发现对于椒盐噪声,中值滤波效果更好。对于高斯噪声,选用5*5窗口滤波效果好于3*3窗口滤波,但图像模糊程度加重了。实验四 图像分割一、实验内容与步骤(1)使用Roberts 算子的图像分割实验调入并显示图像room.tif中图像;使用Roberts 算子对图像进行边缘检测处理; Roberts 算子为一对模板:相应的矩阵为:rh = 0 1;-1 0; rv = 1 0;0 -1;这里的rh 为水平Roberts 算子,rv为垂直Robert

15、s 算子。分别显示处理后的水平边界和垂直边界检测结果;用“欧几里德距离”和“街区距离”方式计算梯度的模,并显示检测结果;对于检测结果进行二值化处理,并显示处理结果;(2)使用Prewitt 算子的图像分割实验使用Prewitt 算子进行内容(1)中的全部步骤。 (3)使用Sobel 算子的图像分割实验使用Sobel 算子进行内容(1)中的全部步骤。 (4)使用LoG (拉普拉斯-高斯)算子的图像分割实验使用LoG (拉普拉斯-高斯)算子进行内容(1)中的全部步骤。提示1:处理后可以直接显示处理结果,无须另外计算梯度的模。提示2:注意调节噪声的强度以及LoG (拉普拉斯-高斯)算子的参数,观察处

16、理结果。二、实验结果与源程序实验结果如下图:源程序f=imread(cameraman.tif); gv,t1=edge(f,sobel,vertical); imshow(gv) gb,t2=edge(f,sobel,horizontal); figure,imshow(gb) w45=-2 -1 0;-1 0 1;0 1 2; g45=imfilter(double(f),w45,replicate); T=0.3*max(abs(g45(:); g45=g45=T; figure,imshow(g45);三、思考题/问答题1、评价一下Roberts 算子、Prewitt 算子、Sobel

17、 算子对于噪声条件下边界检测的性能。Roberts 算子边缘定位精度较高,但易丢失一部分边缘,同时由于没经过图像平滑计算,因此不能抑制噪声。该算子对具有陡峭的低噪声图像响应最好。Sobel算子很容易在空间上实现,对噪声具有平滑作用,受噪声影响较小,可提供较为精确的边缘方向信息,但同时也会检测出许多伪边缘,检测到的边缘宽度较粗,边缘位置定位精度不高。Prewitt 算子与Sobel 算子使用方法一样,都是对图像进行差分和滤波运算,差别只在于使用的模板不一样,Prewitt 算子比Sobel 算子运算略微简单。2、为什么LoG梯度检测算子的处理结果不需要象Prewitt 等算子那样进行幅度组合?

18、LOG 算子是根据图像的信噪比来求出检测边缘的最优滤波器。该方法首先采用高斯函数对图像进行低通平滑滤波,然后采用Laplacia 算子进行高通滤波,根据二阶导数的过零点来检测图像的边缘。因而不需要象Prewitt 等算子那样进行幅度组合。3、实验中所使用的四种算子所得到的边界有什么异同?Roberts 算子检测出的图像轮廓边缘很细,连续性较差,边缘信息有一定丢失,出现的噪点比较多。Sobel 和Prewitt 两个算子检测出的边缘效果几乎一致,比Roberts 算子的检测结果要好,边缘较为连续,对噪声不敏感,但是线条稍粗,出现了一些伪边缘。二阶LOG 算子检测出来的图像边缘更加连续,边缘也比较

19、细小。但是由于二阶算子的特性,对噪声比较敏感。当的值越小,平滑的程度就越小,于是会出现零星的假边缘;而的值越大,平滑的程度也越大,但是部分真实的边缘会丢失,出现边缘间断现象实验五 形态学运算一、实验内容与步骤1. 调入并显示图像Plane2.jpg;2. 选取合适的阈值,得到二值化图像Plane2-2.jpg; 3. 设置结构元素;4. 对得到的二值图像Plane2-2.jpg进行腐蚀运算; 5. 对得到的二值图像Plane2-2.jpg进行膨胀运算; 6. 对得到的二值图像Plane2-2.jpg进行开运算; 7. 对得到的二值图像Plane2-2.jpg进行闭运算; 8. 将两种处理方法的

20、结果作比较;二、实验结果与源程序实验结果如下图:源程序I=imread(Sunset.jpg); level = graythresh(I);%得到合适的阈值 bw = im2bw(I,level);%二值化SE = strel(square,3);%设置膨胀结构元素 BW1 = imdilate(bw,SE);%膨胀 SE1 = strel(arbitrary,eye(5);%设置腐蚀结构元素 BW2 = imerode(bw,SE1);%腐蚀 BW3 = bwmorph(bw, open);%开运算 BW4 = bwmorph(bw, close);%闭运算 imshow(I); figu

21、re,imshow(bw); figure,imshow(BW1); figure,imshow(BW2); figure,imshow(BW3); figure,imshow(BW4);三、思考题/问答题1. 结合实验内容,评价腐蚀运算与膨胀运算的效果。腐蚀是一种消除边界点,它使边界向内部收缩,消除小且无意义的物体。膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。2. 结合实验内容,评价开运算与闭运算的效果。先腐蚀后膨胀的过程称为开运算。实验中,开运算能够去除孤立的小点,毛刺和小桥(即连通两块区域的小点),而总的位置和形状不变。先膨胀后腐蚀称为

22、闭运算。实验中,闭运算能够填平小湖(即小孔),弥合小裂缝,而总的位置和形状不变。3. 腐蚀、膨胀、开、闭运算的适用条件是什么?由于噪声的影响,图象在阈值化后所得到边界往往是很不平滑的,物体区域具有一些噪声孔,背景区域上散布着一些小的噪声物体。连续的开和闭运算可以有效地改善这种情况。有时需要经过多次腐蚀之后再加上相同次数的膨胀,才可以产生比较好的效果。第二篇:数字图像处理实验报告数字图像处理实验学生姓名:专业年级:报告叶圣红 学 号: 2022704809级电子信息工程二班实验一 常用MATLAB图像处理命令一、实验内容1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子

23、窗口来分别显示RGB图像和灰度图像,注上文字标题。实验结果如右图: 代码如下: Subplot (1,3,1)i=imread(E:数字图象处理.jpg) imshow(i)title(RGB) Subplot (1,3,2) j=rgb2gray(i) imshow(j) title(灰度) Subplot (1,3,3) k=im2bw(j,0.5) imshow(k) title(二值)2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。实验结果如右图: 代码如下: Subplot (3,2,1) i=imread(E:数字图像处理1.jpg)

24、 x=imresize(i,250,32022 imshow(x) title(原图x) Subplot (3,2,2) j=imread(E:数字图像处理17.jpg) y=imresize(j,250,32022 imshow(y) title(原图y) Subplot (3,2,3) z=imadd(x,y) imshow(z) title(相加结果);Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title(相减结果) Subplot (3,2,5);z=immultiply(x,y);imshow(z);title(相乘结果) Subplot

25、 (3,2,6);z=imdivide(x,y);imshow(z);title(相除结果)3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。实验结果如右图:代码如下: Subplot (2,2,1) i=imread(E:数字图像处理12.jpg) imshow(i) title(原图) Subplot (2,2,2) J = imadjust(i,3); imshow(J) title(变暗) Subplot (2,2,3) J = imadjust(i,0.4) imshow(J) title(变亮) Subplot (2,2

26、,4) J=255-i Imshow(J) title(变负)二、实验总结分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其

27、典型应用是用于获得掩膜图像。除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。加法运算的一个重要应用是对同一场景的多幅图像求平均值减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。实验二 图像基本操作一、 实验内容1.调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。1、调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。a=imre

28、ad(e:3.jpg);%读取图片 b=rgb2gray(a);%变为灰度图像wid,hei=size(b);%改变图片大小 quartimg=zeros(wid/2+1,hei/2+1); i1=1; j1=1; for i=1:2:widfor j=1:2:heiquartimg(i1,j1)=b(i,j) ;j1=j1+1;endi1=i1+1; j1=1; end figure imshow(uint8(quartimg) %显示输出图像2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图Subplot (1,2,1);a=imread(E:数字图像处理实验

29、数字图像处理2022pg); imshow(a);title(a);Subplot (1,2,2);b= imadjust(a,3);title(b)显示直方图程序:Subplot (1,2,1);imhist(a);title(a的直方图) Subplot (1,2,2);imhist(b);title(b的直方图)3、对图像b进行直方图均衡化,显示结果图像和对应直方图。Subplot (1,2,1);j=histeq(b);imshow(j); title(b均衡化); Subplot (1,2,2);imhist(j); title(b均衡化后的直方图) 均衡化的图像和直方图:4、读入图

30、像c,执行直方图规定化,使图像a的灰度分布与c大致相同,显示变换后图像及对应直方图。counts,x=imhist(c) ;Subplot (2,2,1);imshow(a); title(图a);Subplot (2,2,2);c=imread(E:数字图像处理13.jpg); imshow(c);title(图c);Subplot (2,2,3);j=histeq(a,counts); imshow(j);Subplot (2,2,4);imhist(j)实验三 图像变换一、实验内容1、对一幅图像进行缩小,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱

31、与平移后傅里叶频谱的对应关系。 i=imread(F:数字图象处理17.jpg); y=rgb2gray(i);subplot(2,2,1);imshow(y);title(原图) j=imresize(y,0.5);subplot(2,2,2);imshow(j);title(缩小图) m=fft2(y);subplot(2,2,3);imshow(abs(log(m),);title(原图傅里叶变化) n=fft2(j);subplot(2,2,4);imshow(abs(log(n),);title(缩小图傅里叶变化)2、对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变

32、换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。i=imread(E:数字图象处理18.jpg); j=rgb2gray(i);subplot(2,2,1);imshow(j);title(原图) m=imrotate(j,45,bilinear);subplot(2,2,2); imshow(m);title(旋转图) p=fftshift(fft2(j);subplot(2,2,3); imshow(abs(log(p),);title(原图傅里叶变化) q=fftshift(fft2(m);subplot(2,2,4); imshow(abs(log(q),);tit

33、le(旋转图傅里叶变化)实验四 常用图像增强方法一、实验内容1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7 subplot(2,2,1);a=imread(E:数字图像处理24.jpg); j=imnoise(a,salt & pepper,0.04); imshow(j);title(椒盐噪声图像); subplot(2,2,2); I_Filter1=medfilt2(j,3 3);imshow(I_Filter1); title(3X3); subplot(2,2,3); I_Filter2=medfilt2(j,5 5);imsh

34、ow(I_Filter2); title(5X5); subplot(2,2,4); I_Filter3=medfilt2(j,7 7);imshow(I_Filter3); title(7X7);2、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 subplot(1,2,1);a=imread(E:数字图像处理23.jpg); j=imnoise(a,salt & pepper,0.04); imshow(j);title(椒盐噪声图像); subplot(1,2,2); h=fspecial(average); m=filter2(h,j); imshow(m); t

35、itle(均值滤波)3、采用三种不同算子对图像进行锐化处理。subplot(1,4,1);i=imread(F:数字图像处理16.jpg);i1=rgb2gray(i); imshow(i1);title(原图像);subplot(1,4,2);h=fspecial(laplacian); i2=filter2(h,i1);imshow(i2);title(拉式算子);subplot(1,4,3) h=fspecial(prewitt);i3=filter2(h,i1);imshow(i3); title(prewitt算子)subplot(1,4,4)h=fspecial(sobel); i

36、4=filter2(h,i1)imshow(i4);title(sobel算子)二、实验总结1、比较不同平滑滤波器的处理效果,分析其优缺点中值滤波比低通滤波消除噪声更有效。因为噪声多为尖峰状干扰,若用低通滤波虽能去除噪声但陡峭的边缘将被模糊。中值滤波能去除点状尖峰干扰而边缘不会变坏。理想低通滤波器平滑处理的概念是清晰的,但在处理过程中会产生较严重的模糊和振铃现象。这种现象正是由于傅里叶变换的性质决定的。2、比较不同锐化滤波器的处理效果,分析其优缺点梯度算子: 梯度对应的是一阶导数,梯度算子是一阶导数算子。梯度方向:在图像灰度最大变化率上,反映出图像边缘上的灰度变化。梯度处理经常用于工业检测、辅

37、助人工检测缺陷,或者是更为通用的自动检测的预处理。拉普拉斯微分算子强调图像中灰度的突变,弱化灰度慢变化的区域。这将产生一幅把浅灰色边线、突变点叠加到暗背景中的图像。实验五 图像恢复和图像分割一、实验内容1、产生运动模糊图像,运用维纳滤波进行图像恢复,显示结果。i=imread(F:car.jpg); I1=rbg2gray(i);I= im2double(I1); subplot(1,3,1) imshow(I);title(原图像) LEN = 21; THETA = 11;PSF = fspecial(motion, LEN, THETA);blurred = imfilter(I, PS

38、F, conv, circular); subplot(1,3,2);imshow(blurred); title(模拟运动模糊图像) wnr2=deconvwnr(blurred,PSF); subplot(1,3,3); imshow(wnr2); title(维纳滤波恢复后图像)2、采用三种不同算子检测图像边缘,显示结果i = imread(F:car.jpg); I=rgb2gray(i); subplot(2,2,1);imshow(I);title(原图像) BW1 = edge(I,prewitt); subplot(2,2,2);imshow(BW1); title(prewi

39、t算子边缘检测) BW2=edge(I,zerocross); subplot(2,2,3);imshow(BW2);title(zerocross算子边缘检测) BW3=edge(I,log); subplot(2,2,4);imshow(BW3);title(log算子边缘检测)3、对二值图像分别进行方形模板3*3和5*5的膨胀和腐蚀操作,显示结果。i= imread(F:16.jpg); I=im2bw(i,0.5); subplot(2,3,1);imshow(I);title(二值图像) se=strel(square,3);se1= strel(square,5); I1 = im

40、dilate(I,se);subplot(2,3,2);imshow(I1);title(3*3膨胀图像) I2 = imdilate(I,se1);subplot(2,3,3);imshow(I2);title(5*5膨胀图像) subplot(2,3,4);imshow(I);title(二值图像) erodedBW=imerode(I,se);subplot(2,3,5);imshow(erodedBW);title(3*3腐蚀图像) erodedBW1=imerode(I,se1);subplot(2,3,6);imshow(erodedBW1);title(5*5腐蚀图像)实验六 图

41、像处理实际应用一、实验内容1、调试运行下列程序,分析程序,对每条语句给出注释,并显示最终执行结果。总结算法思想及优缺点总结:对于特定位置的车牌识别算法非常高效,但对于含有噪声等其他因素的车牌分割处理,相对来说算法还有待完善。三、实验内容调试运行下列程序,分析程序,对每条语句给出注释,并显示最终执行结果。总结算法思想及优缺点. I=imread(Car.jpg);%读取图片y,x,z=size(I);% 返回I各维的尺寸,并存储在变量y、x、z中 myI=double(I); %换成双精度数值% RGB to HSI % %begin横向扫描tic%计算tic与toc之间程序的运行时间% Y 方

42、向 % 分割字符按行积累量Blue_y=zeros(y,1); %产生y*1的全0矩阵 for i=1:y%给定i的范围for j=1:x:x%给定j的范围if(myI(i,j,1)=51)&(myI(i,j,3)=119) % 蓝色RGB的灰度范围Blue_y(i,1)= Blue_y(i,1)+1;%蓝色像素点统计endendend temp MaxY=max(Blue_y);% Y方向车牌区域确定%temp为向量white_y的元素中的最大值,MaxY为该值的索引( 在向量中的位置)PY1=MaxY;%y矩阵的最大元素while (Blue_y(PY1,1)=5)&(PY11)确定蓝色R

43、GB Blue_y所在位置PY1=PY1-1;%对车牌区域的修正,向上调整 endPY2=MaxY;while (Blue_y(PY2,1)=5)&(PY2PY2=PY2+1; end IY=I(PY1:PY2,:,:); %IY为原始图像I中截取的纵坐标在PY1:PY2之间的部分 %end横向扫描%begin纵向扫描% X 方向 %Blue_x=zeros(1,x);%产生y*1的全0矩阵for j=1:xfor i=PY1:PY2if(myI(i,j,1)=51)&(myI(i,j,3)=119)Blue_x(1,j)= Blue_x(1,j)+1; % Blue_x 的矩阵加一enden

44、dendPX1=1; while (Blue_x(1,PX1)PX1) %确定蓝色RGB Blue_x的位置PX2=PX2-1; %对车牌区域的修正向下调整 End %end纵向扫描PX1=PX1-2; % 对车牌区域的修正 PX2=PX2+2;Plate=I(PY1:PY2,PX1-2:PX2,:); t=toc % 读取计时% figure,imshow(I);% 原始图像figure,plot(Blue_y);grid %创建图像窗口,绘制Blue_y图像,画出网格线 figure,plot(Blue_x);grid%创建图像窗口,绘制Blue_x图像,画出网格线figure,imsho

45、w(Plate);% 车牌截取结果第三篇:数字图像处理实验报告数字图像处理实验报告目录1. 数字图像处理简介2. 实验目的3. 实验内容4. 实验结果及代码展示5. 算法综述6. Matlab优势7. 总结8. 存在问题一、 数字图像处理简介图像处理,是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。此外,基于光学理论的处理方法依然占有重要的地位。图像处理是信号处理的子类,另外与计算机科学、人工智能等领域也有密切的关系。传统的一维信号处理的方法和概念很多仍然可以直

46、接应用在图像处理上,比如降噪、量化等。然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。二、 实验目的巩固所学知识,提高所学能力三、 实验内容利用matlab的GUI程序设计一个简单的图像处理程序,并含有如下基本功能: 1. 读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字2. 对给定图像进行旋转3对给定的图像添加噪声(椒盐噪声、高斯噪声)四、 实验结果及代码展示1. 软件设计界面2. 各模块功能展示以及程序代码(1)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子

47、窗口来分别显示RGB图像和灰度图像,注上文字标题效果展示:代码:a = imread(i = rgb2gray(a); I = im2bw(a,0.5);subplot(3,1,1);imshow(a);title(源图像) subplot(3,1,2);imshow(i);title(灰度图像) subplot(3,1,3);imshow(I);title(二值图像)(2)图像旋转 原图效果展示:代码:clc;clear all;close all;Img=imread(D:My DocumentsMy Pictures5.JPG); Img=double(Img); h w=size(Im

48、g); alpha=pi/4;wnew=w*cos(alpha)+h*sin(alpha); hnew=w*sin(alpha)+h*cos(alpha); wnew=ceil(wnew);hnew=ceil(hnew); u0=w*sin(alpha);T=cos(alpha),sin(alpha);-sin(alpha),cos(alpha); Imgnew2=zeros(hnew,wnew);Imgnew1=zeros(hnew,wnew); for u=1:hnewfor v=1:wnewtem=T*(u;v-u0;0); x=tem(1); y=tem(2); if x=1&x=1&

49、y=0)&(f=f1)&(f=f2)&(fsize(X) Same:返回二维户相关结果的中间部分,Y 的大小与X 相同 Valid:返回二维户相关未使用边缘补0 的部分,size(Y)四、实验代码与结果1、 clc,clearin1=imread(rice.png);f=imnoise(in1,salt & pepper,0.1); %f=imnoise(in1,gaussian,0,0.02) %g 是标准均值滤波器的输出图像 g=biaozhunjunzhi(f,3); subplot(221),imshow(in1)%,xlabel(a) 原始图像) subplot(222),imsho

50、w(f)%,xlabel(b) 加噪图像) subplot(223),imshow(g)%,xlabel(c) 标准均值滤波图像) function g=biaozhunjunzhi(f,k) m,n=size(f); %f1 是对边缘像素补0 后得到的图像f1=zeros(m+(k-1),n+(k-1);m1,n1=size(f1); %f1 的边缘像素值为0中间的像素值依然为f f1(1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2)=f; %注意这条指令绝对不能少 ga=f; %取出窗口内的像素值并作标准均值滤波处理 for i=(k+1)/

51、2:(m1-(k-1)/2)for j=(k+1)/2:(n1-(k-1)/2) a=0;x=1; for p=1:k for q=1:k a(x)=f1(i+(p-(k+1)/2),j+(q-(k+1)/2);x=x+1; end end %hsum 表示窗口内所有像素值的和 hsum=0; for h=1:(k2) hsum=hsum+a(h); end ga(i,j)=round(hsum/(k2); end end %ga 的大小和f1 的大小一致所以必须取出中间部分像素值作为输出 g=ga(1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2

52、);2、 clc,clear in1=imread(rice.png);f=imnoise(in1,salt & pepper,0.1); %f=imnoise(in1,gaussian,0,0.02) %g 是标准中值滤波器的输出图像 g=biaozhunzhongzhi(f,3); subplot(131),imshow(in1)%,xlabel(a) 原始图像) subplot(132),imshow(f)%,xlabel(b) 加噪图像) subplot(133),imshow(g)%,xlabel(c) 标准均值滤波图像) function g=biaozhunzhongzhi(f,

53、k) m,n=size(f); %f1 是对边缘像素补0 后得到的图像f1=zeros(m+(k-1),n+(k-1);m1,n1=size(f1); %f1 的边缘像素值为0中间的像素值依然为f f1(1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2)=f; %注意这条指令绝对不能少 ga=f; for i=(k+1)/2:(m1-(k-1)/2) for j=(k+1)/2:(n1-(k-1)/2) a=0;x=1; for p=1:k for q=1:k a(x)=f1(i+(p-(k+1)/2),j+(q-(k+1)/2);x=x+1;en

54、d end a=sort(a);ga(i,j)=a(k2+1)/2); end end %ga 的大小和f1 的大小一致所以必须取出中间部分像素值作为输出 g=ga(1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2);3、 clc,clear,close all f=imread(cameraman.tif);m,n=size(f);g=f; h1=-1 -1 -1;0 0 0;1 1 1;h2=-1 0 1;-1 0 1;-1 0 1; x1=h1;x2=h2; for i=2:1:m-1 for j=2:1:n-1 sum1=0;sum2=0;

55、sum=0; for p=1:1:3 for q=1:1:3 x1(p,q)=f(i+(p-2),j+(q-2);x2(p,q)=f(i+(p-2),j+(q-2); sum1=sum1+x1(p,q)*h1(p,q);sum2=sum2+x2(p,q)*h2(p,q);sum=sum1+sum2; end end if sum=0)&(f=f11)&(f=f12)&(f=0)&(f=f21)&(f=f22)&(f=0)&(f=f31)&(f=f32)&(f0 u0=u0+i*p(i)/w0; else u0=u0+0; end end u1=0; for i=(t+1):L if w10 u

56、1=u1+i*p(i)/w1; else u1=u1+0; end end rou(t+1)=w0*w1*(u0-u1)2;%类间方差的求取 end maxrou=max(rou);%类间方差的最大值 for i=1:L if rou(i)=maxrou r=i-1; end end r %类间方差最大所对应的灰度值 for i=1:m for j=1:n if in(i,j)r out(i,j)=1; else out(i,j)=0; end end end subplot(121),imshow(in) subplot(122),imshow(out) 运行结果得到的阈值为:114第五篇:

57、数字图像处理实验报告实 验 报 告 书系部学生专业班实验名称姓名名称 级时间: : :实验一 直方图均衡一、实验目的在学习图像直方图的概念、计算方法、性质和相关应用基础上,生成、绘制图像的直方图,并应用MATLAB编程实现图像直方图均衡化程序。二、实验内容(1)计算并绘制图像直方图;(2)编程实现图像的直方图均衡化处理,显示均衡前后的直方图和图像;三、实验运行结果四、实验中遇到的问题及解决方法1、显示无法找到图像文件,应将图片与xx.m文件置于同一文件夹;2、编程过程中应注意标点的输入法,应该用英文输入,否则会报错。3、编程完成后运行时输入文件名与保存时文件名相同,区分大小写。五、思考题(1)

58、、灰度直方图可以反映一幅图像的哪些特征? 答:1、表征了图像的一维信息。只反映图像中像素不同灰度值出现的次数(或频数)而未反映像素所在位置。2、与图像之间的关系是多对一的映射关系。一幅图像唯一确定出与之对应的直方图,但不同图像可能有相同的直方图。3、子图直方图之和为整图的直方图。 (2) 均衡化后的直方图有何特点?答:经直方图均衡化处理后,可以得到一副改善了质量的新图像。这幅图像的灰度层次将不再是呈黑暗色调的图像,而是一副灰度层次较为适中的、比原始图像清晰、明快得多的图像。处理的结果使图像更适合与人的视觉特征或机器的识别系统。六、实验心得体会本次实验中,因为初学这个软件,我学习到了在程序中关于

59、图像的运用,以及也复习了课本上的许多知识,加深了对直方图均衡化的理解。七、程序清单clear all; I=imread(lena_gray_256.tif); %打开一幅灰度图像 m,n=size(I); p=m*n; J=imhist(I)./p;%计算图像的归一化直方图 subplot(1,3,1),imshow(I); subplot(1,3,2),imhist(I,64); subplot(1,3,3),plot(J);(2)直方图均衡化clear all; Im=imread(region.jpg); J=histeq(Im); %均衡化 subplot(2,2,1); imsho

60、w(Im); title(原图); %显示原图 subplot(2,2,2); imhist(Im); title(原图直方图); %显示原图的直方图 subplot(2,2,3); imshow(J); title(均衡化结果); %显示均衡化后的图像 subplot(2,2,4); imhist(J); title(均衡化结果的直方图); %显示均衡化后的直方图实验二 频域图像增强一、实验目的1、频域图像增强2、掌握基于频域的图像增强方法。二、实验内容(1)编程实现图像的理想低通和高通滤波; (2)编程实现图像的巴特沃斯低通和高通滤波。三、实验运行结果四、实验中遇到的问题及解决方法显示图像

61、无法打开,最终查出来时图像格式弄错了。五、思考题分析为什么图像通过低通滤波器后变得模糊?为什么通过高通滤波器后得到锐化结果?答:图像的精细结构及突变部分主要由高频成分起作用,故经低通滤波后图像的精细结构消失,变得模糊;经高通滤波后图像得到锐化。六、实验心得体会本实验中遇到很多问题及错误,例如图像打不开、处理后图像模糊等,都是经常容易发生的错误,最后实验几次,就能够逐一自己解决了。使自己对数字图像处理课程中的许多问题有了更实际和确切的深入了解。七、程序清单clc; clear; data4=imread(lena.gif); subplot(3,2,1); imshow(data4); title(原图); i=fft2(data4); subplot(3,2,2); i=fftshift(i); z=log(abs(i); x=0:1:255; y=0:1:255; x,y=meshgrid(x,y); mesh(z); %以三维坐标显示该图像频谱图title(原图频谱); n,m=size(i); %for k=1:1:n for l=1:1:m if (k2+l2)=1902 % result(k,l)=0; else result(k,l)=i(k,l); end end end subplot(3,2,4);对该图进行低通滤波 选取D=190z

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!