水果识别基于matlab GUI苹果分级系统(带面板)含Matlab源码 1827期
Posted 紫极神光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了水果识别基于matlab GUI苹果分级系统(带面板)含Matlab源码 1827期相关的知识,希望对你有一定的参考价值。
一、简介
中国苹果产销量居世界首位,传统的苹果分级由人工完成,长期以来,其劣势逐渐显现。因此,智能分拣是当今苹果分级的主要任务,而大小又是苹果分级的重要参考指标。国内外专家做了许多基于图像处理的苹果大小分级研究,其中PAULUS等提出以表面积、直径和体积作为苹果大小分级的指标。应义斌等通过寻找柑橘的最小外接矩形的最大横径数来求取柑橘的大小,随之也被应用到了苹果大小的检测中。冯斌等通过果梗侧外形确定轴向,取垂直轴向的最大宽度作为水果大小。陈艳军等通过比较3幅苹果图像的最大直径来确定苹果实际大小,还通过多元线性回归原理找到3个最大直径与苹果实际大小的拟合关系。除此之外,苹果大小检测还有当量直径法、投影面积法和平均半径法等。而根据鲜苹果分级标准[8],需选取苹果最大横截面直径作为测量依据。因此,本文选取垂直拍摄果径面的图像作为获取最大横截面直径的参考,再利用最小外接圆得到苹果的直径,最后依据分级标准判断大小等级。
1 苹果图像预处理
1.1 图像采集
根据苹果在输送中的实际运动状态以及相机摄取到的多姿态苹果图像,在实际操作中发现,5幅图像就能包含苹果的所有表面,因此将获取到的每个苹果的5幅图像作为研究对象,如图3所示。
图3 单一苹果5幅表面图像
1.2 图像二值化
将采集到的苹果彩色图像进行二值化处理,得到像素值为0的黑色背景和像素值为1的目标图像[12]。具体方法为先将彩色图像进行灰度化处理,利用如下语句实现:
I=rgb2gray(RGB)。
其次,利用Qtsu图像分割将灰度图转换成二值图,通过计算方差寻找最合适的灰度级作为阈值,使划分区域的两部分差别最大,Qtsu法的语句实现如下:
I2=im2bw(I,graythresh(I))。
1.3 形态学去噪
图像二值化后,目标区域可能会有小的孔洞出现,因此用图像形态学进行去噪处理,填补小孔洞,细化边缘。使用圆形结构进行形态学闭操作处理,语句实现如下:
se=strel(‘disk’,2),
I3=imclose(I2)。
对于采集到果梗面或有缺陷的图像,上述操作后还会有较大孔洞出现,因此使用imfill函数填充较大孔洞,语句实现如下。
I4=imfill(I3)。
图像预处理结果如图4所示。
图4 苹果图像预处理结果
2 最小外接圆分级
2.1 果径面的确定
鲜苹果分级标准规定,取苹果最大横截面直径作为苹果大小等级的判断标准。通过观察可以发现,由于苹果是立体图形,苹果以正立形式(果梗上置)放置时,获取到的苹果主视图图像的最大直径不一定是苹果的最大横截面直径,而此时的俯视图,也就是垂直于果径拍摄的图像,它的最大直径可以作为大小等级划分的重要依据。进一步观察发现,对于大多数苹果,尤其是形状不规则的苹果而言,垂直于果径拍摄的图像比其他姿态时的图像更加接近于圆形。因此,可以利用图像最小外接矩形长宽比这一指标来寻找最接近圆形的图像。而且长宽比数值越接近于1,图形越接近于圆,所以可用式(1)来求取图像最小外接矩形长宽比与1的差值,差值最小的图像即为所确定的果径面的图像。
c=l/b−1, (1)
式中:l为最小外接矩形的长;b为最小外接矩形的宽;c为长宽比与1的差值。
2.2 最小外接圆圆心确定
确定好果径面后,就要对果径面求取它的最大直径,将其作为苹果的实际大小,本文用最小外接圆法求取直径。首先就要确定最小外接圆的圆心,将苹果图像的质心作为最小外接圆的圆心,计算苹果二值图目标区域的总像素数,记作s,质心坐标可以通过求取二值图目标像素的平均像素点获得[16],如式(2)和式(3)所示。
式中:Cx,Cy 分别为圆心的横、纵坐标;xi,yi分别为目标像素点的横、纵坐标。
2.3 最小外接圆半径确定
确定好最小外接圆圆心后,通过寻找图像坐标与圆心坐标的距离,距离值最大的即为最小外接圆半径。首先,设初始半径为2个像素点,再遍历各个像素点,利用两点间距离公式,如式(4)所示,计算此时像素点与圆心的距离,如果大于当前半径,则此距离作为新的半径,最终迭代更新得到最小外接圆半径。
式中:d为两点距离大小。
最终在二值图的基础上,根据圆心和半径画出图像的最小外接圆,如图5所示。
图5 苹果最小外接圆图像
2.4 图像标定
系统通过最小外接圆法得到苹果直径的单位为像素,而苹果实际直径单位是毫米,因此需要进行单位转换。具体方法:选取一标准形状的球体,利用图像采集系统进行球体的图像采集,然后运用计算机绘图软件,如Photoshop进行球体直径的测量,得到的球体直径为d像素,而球体的实际直径为D mm,则系统的标定系数k如式(5)所示:
k=D/d。 (5)
用标定系数k与系统测量的苹果直径进行转换,就可以得到实际的苹果直径。
理论简介仅供参考
二、部分源代码
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]杜云,郑羽纶,张效玮.基于图像处理的苹果大小分级研究[J].河北工业科技. 2019,36(06)
以上是关于水果识别基于matlab GUI苹果分级系统(带面板)含Matlab源码 1827期的主要内容,如果未能解决你的问题,请参考以下文章
水果识别基于matlab GUI苹果质量检测及分级系统含Matlab源码 519期
水果识别基于matlab GUI柑橘质量检测及分级系统(带面板)含Matlab源码 1628期
水果识别基于matlab GUI柑橘质量检测及分级系统含Matlab源码 738期