基于数字图像处理技术测定植物叶片属性.doc

基于数字图像处理技术测定植物叶片属性.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于数字图像处理技术测定植物叶片属性

基于数字图像处理技术测定植物叶片属性 一、实验名称:基于数字图像处理技术测定植物叶片属性。 二、实验目的 掌握并熟练使用matlab R2014b软件; 采用合适的分割方法对原图片进行图像分割,获取目标叶片; 将分割后的图片进行去噪增强处理; 通过matlab软件来测定目标叶片的属性; 通过手工网格法计算出目标叶片实际属性,并与实验结果对比修改。 三、实验原理 实验通过手动网格法测出叶片实际面积值,并与通过matlab图像处理计算出的实验面积值对比,研究测试运用matlab图像处理技术提取叶片面积的可行性。 实验中,将已知属性的小方格(1cm*1cm)作为参照物与所测叶片置于同一平面的白纸上,用手机相机获取图像。由于数字图像都是由一个个像素点组成,可以根据像素点比例和参照物属性求出植物叶片属性。 叶片面积计算公式如下: 式1:叶片面积 = 参照物面积× 叶片周长计算公式如下: 式2:叶片周长 = 参照物周长× 四、实验步骤 (1)网格测面积 手工制作网格纸一张(最小格边长5mm),将叶片轮廓描于纸上,计算轮廓所占方格数(未占满格的均按半格计算),得出实际面积约为24cm2。用一根细线围绕叶子一周,然后拉直,测其周长为22.2cm。 图1:获取的原图片(黑方格为参照物) 图2:网格法求叶片实际面积 (2)matlab图像处理提取叶片属性 1、图像灰度处理 图3:灰度图像 2、中值滤波 图4:中值滤波 3、二值化 图5:二值化图像 4、颜色反转 5、提取边缘 6、填补边缘空隙 7、图像切割 对分割后的图像进行图像切割,平均分为三份(如图6、7)。 图6:切割后的叶片图像 图7:切割后的参照物图像 8、分别计算目标叶片和参照物图像的像素数 由于分割后的图像均为二值图像(0和255),所以目标叶片和参照物图像的像素数可以运用sum()函数列出以下式子得出: 参照物像素数=sum(sum(参照物图像))/255; 目标叶片像素数=sum(sum(目标叶片图像))/255; 9、分别计算目标叶片和参照物的实验周长 首先运用bwconncomp函数分析滤波后图像的连通域个数,然后运用regionprops函数计算各连通域周长。 五、结论分析 通过式1、式2得出叶片实验面积为:23.626692 cm2、周长21.697166cm。 图8:实验结果截图 与网格法得出的实际面积约为24 cm2对比,误差为0.37 cm2,周长的误差则为0.5cm,误差较小,可以接受。 六、实验代码 a=imread(leaf.jpg); figure,imshow(a);title(原图像); b=rgb2gray(a); figure,imshow(b);title(灰度图); c=medfilt2(b); figure,imshow(c);title(中值滤波); level=graythresh(c); d=im2bw(c,level); figure,imshow(d);title(二值化); e=imcomplement(d); figure,imshow(e);title(颜色反转); image1 = edge(e,sobel); image2 = edge(e,roberts); image3 = edge(e,prewitt); image4 = edge(e,canny); figure; subplot(2,2,1); imshow(image1);title(soble图像边缘提取) subplot(2,2,2); imshow(image2);title(roberts图像边缘提取) subplot(2,2,3); imshow(image3);title(prewitt图像边缘提取) subplot(2,2,4); imshow(image4);title(canny图像边缘提取) I = strel(line,3,90); H = strel(line,3,0); t = imdilate(image4,[I H]); figure,imshow(t);title(填补边缘缝隙的图像); filled = imfill(t,holes); figure,imshow(filled);title(填充空隙后的图像); SeD = strel(diamond,1); final = imerode(filled,SeD); final = imerode(final,SeD); figure,imshow(

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档