数字图像处理.docx

上传人:王** 文档编号:1040318 上传时间:2024-03-16 格式:DOCX 页数:13 大小:157.47KB
下载 相关 举报
数字图像处理.docx_第1页
第1页 / 共13页
数字图像处理.docx_第2页
第2页 / 共13页
数字图像处理.docx_第3页
第3页 / 共13页
数字图像处理.docx_第4页
第4页 / 共13页
数字图像处理.docx_第5页
第5页 / 共13页
数字图像处理.docx_第6页
第6页 / 共13页
数字图像处理.docx_第7页
第7页 / 共13页
数字图像处理.docx_第8页
第8页 / 共13页
数字图像处理.docx_第9页
第9页 / 共13页
数字图像处理.docx_第10页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数字图像处理.docx》由会员分享,可在线阅读,更多相关《数字图像处理.docx(13页珍藏版)》请在优知文库上搜索。

1、1绪论1.1实验要求1) 78人一组,每组一题;周一前组长把自己的组员和选题题号发给我。2)用MatIab进行处理,实现图片下方文字要求。3)每组上交一份报告,每组选择一人进行辩论。程序代码量、最终图片处理效果以及上交报告的质量决定最后的结课作业的最终成绩,课程整体成绩由平时出勤上课表现成绩+实验老师给出的实验成绩+结课考核大作业成绩构成。4)辩论上交材料:辩论ppt+Word报告文档+MATLAB的*.M源程序+图片处理前后结果。1.2研究的根本内容豆子计数,即运用matlab的形态学,把一幅图片的豆子数目数出来。2摘要针对目前谷物人工计数和光电计数方法存在的缺乏,提出了一种基于Matlab

2、图像识别和处理技术的谷物计数方法,并用实例验证了其可靠性。该方法减轻了操作者劳动强度,弥补了人视觉的缺乏之处,提高了效率及准确率,为今后进一步研究奠定了必要的理论与实践根底,对完善精细农业具有重要意义。在检测盘上的颗粒往往会出现紧靠或者重叠的谷物,导致检测图像中常出现重叠区域,这给后续谷物检测分析等工作带来了很大的困难,本文利用极限腐蚀和条件膨胀相结合的方法解决此问题,以到达精确计数的目的。关键词:图像处理,谷物,计数方法,Matlab03MATLAB简介3.1MATLAB概述MATLAB是美国InathWorkS公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术

3、计算语言和交互式环境,主要包括MATLAB和Simulink两大局部。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国Hiathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MatIab和Mathen

4、Iatics、MaPIe并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创立用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的根本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像MaPle等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也参加了对C,FORTRAN,C+,JAVA的支持。3.

5、2MATLAB优势特点D高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2)具有完备的图形处理功能,实现计算结果和编程的可视化;3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。3.3MATLAB应用方面MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。4基于MatIab的豆子

6、图像处理过程4.1 豆子图像的读入MatIab软件中,图像的读入命令是imread(xx.xxx),XX是图像的名字,XXX是图像的格式。本实验中,图像的格式为jpg,故,我们的读入命令为I=imread(A.jpg)。读入图像如图(4.1)图(4.1)4.2 豆子图像的处理豆子图像的灰度化处理灰度变换T的最简单形式是使用领域大小为1X1,此时,(x,y)处的g值仅由f在该点处的亮度决定,T也变为一个亮度或灰度级变化函数。当处理单设(灰度)图像时,这两个术语可以互换。由于亮度变换函数仅取决于亮度的值,而与(x,y)无关,所以亮度函数通常可写做如下所示的简单形式:s=T(r)其中,r表示图像f中

7、相应点(x,y)的亮度,s表示图像g中相应点(x,y)的亮度。灰度处理的命令如下:g=rgb2gray(I)0该指令主要作用是将jpg图片转为灰度图像。效果如图()图()灰度图像中值滤波在获取图像的过程中,由于受到各种因素的影响,所得到的图像总会或多或少的感染一些噪声信息,这些噪声信息会恶化图像的质量,所以要进行去噪处理。去噪的方法有很多,大致分为两大类:一类是时域去噪,另一类是频域去噪。时域去噪的代表方法有加权平滑法、中值滤波、二值形态学法等;频域去噪的代表方法有经典数字滤波器、同态滤波、小波分析等。本文采用时域去噪中的中值滤波法,其具有抑制干扰脉冲和点状噪声的作用,并且可保持较好的图像边缘

8、,是指把以某点为中心的小窗口内的所有像素的灰度按从小到大的顺序排列,将中间值作为该处的灰度值。在Matlab中中值滤波的函数是medfilt2o中值滤波命令如下:m=edfilt2(g);滤波后得到的图像如图()灰度图像二值化二值化图像函数主要有dither和im2bw函数。dither函数通过颜色抖动来到达转换图像的目的。语法:BW=dither(I)Image是图像矩阵资料,BW是二值化图像矩阵.im2bw函数通过对灰度值进行阈值判断的方法到达目的,语法:Binaryimage=im2bw(Image,Level)。Image是输入图像矩阵资料,Level是二值化程度值,其为介于O到I之间

9、值,BW是二值化图像矩阵。灰度图像二值化命令如下:level=graythresh(m);%得到适宜阈值e=im2bw(m,level);%二值化得到的图像结果如图OO图()灰度图像取反为了更好的读取图像、腐蚀,我们选择对灰度图像进行取反。取反命令如下:bw=-e+1,得到的图像如图()去噪声处理和腐蚀处理由于豆子之间有连接情况出现,我们为了更好更准确的辨识出大米粒数,采用了去噪+腐蚀的方式。实践证明,这种途径是相当有效、可行的。去噪+腐蚀命令如下。se=strel(disk,4);1.C=imClose(bw,se);sel=strelCdisk,4);%去噪处理1.o=imopen(LC,

10、sei);Bwl=bwmorph(Lo,open,);%开运算SE=Strel(,arbitrary,eye(18);厥设置腐蚀结构参数Bw2=imerode(BW8,SE);厥腐蚀SEl=Strel(,arbitrary,eye(46);哪设置腐蚀结构参数Bw3=imerode(BW,SEl);溉腐蚀1,n=bwlabel(BW0,8);display(n)概计数第一次腐蚀结果如图(a)A图(a)第二次腐蚀结果如图(b)图(b)程序执行后我们获得n=17,而原图像中豆子的数目为17,这说明处理过程正确了,对其他图片进行处理,结果依然正确。显示所有图片为了方便观察,我们将处理中各局部得到的图像

11、以流程形式展现出来。命令如下。figure;subplot(3,3,1);imshow(I);title(,原图像);subplot(3,3,2);imshow(g);title(,灰度图像);subplot(3,3,3);imshow(e);title(,二值图像);subplot(3,3,4);imshow(bw);title(,图像取反);subplot(3,3,5);imshow(bwl);title(,开运算);subplot(3,3,6);imshow(bw2);title(腐蚀图像);subplot(3,3,7);imshow(bw3);title(,腐蚀图像2,);所得图像如图

12、Cyuan shi tuhui du tuer zhi hua5实验程序I=imread(,F:shenhaol.jpg,);figure;imshow(I);title(,原始图);g=rgb2gray(I);figure;imshow(g);title(,灰度图);m=medfilt2(g);figure;imshow(m);title(,中值滤波);e=im2bw(m,0.65);figure;imshow(e);title(,二值化);bw=-e+l;figure;imshow(bw);title(,取反);se=strel(disk,4);1.c=imclose(bw,se);sel

13、=strel(,disk,4);1.o=imopen(Lc,sei);bwl=bwmorph(Lo,open,);SE=Strel(arbitrary,eye(18);bw2=imerode(bwl,SE);figure;imshow(bw2);title(第一次腐蚀);SEl=Strel(,arbitrary,eye(46);bw3=imerode(bw2,SEI);figure;imshow(bw3);title(第二次腐蚀);1,n=bwlabel(bw3,8);display(n);6结果与讨论通过以上实验,我们可以发现,使用MatIab处理图片可以得到谷物颗粒的数目,当然了,前提是做

14、出程序。我们实验的结果显示,此程序辨识谷物颗粒(包括叠压下的情况,其准确度100%。像其他的程序,可能能够解决谷物计数问题,但在叠压下的情况其却处理不了的我们的能处理。故我们的程序是比拟完善的。参考资料:1美)冈萨雷斯.数字图像处理(第二版).20072英)尼克松阿瓜多.特征提取与图像处理(第二版).20103张德丰.MATLAB数字图像处理.20094徐勇.张大鹏.杨建.模式识别中的核方法及其应用.20105陈超.MATLAB应用实例精讲图像处理与GUl设计篇.20116杨高波.杜青松.MATLAB图像/视频处理应用及实例7余成波.数字图像处理及MATLAB实现.20038张强.王正林.精通MATLAB图像处理.2009

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 图形图像

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

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