玉米粒在穗计数方法

文档序号:6368246阅读:1648来源:国知局
专利名称:玉米粒在穗计数方法
技术领域
本发明涉及机器视觉技术领域,特别涉及一种玉米粒在穗计数方法。
背景技术
玉米是一种被广泛种植的农作物,通常需要在收获之前通过抽样的方式对其产量进行估测。而穗粒数和百粒重是对玉米产量预估的重要参数,要获得这些参数,需要对玉米籽粒的数量进行统计。另外,在对玉米育种、栽培、新品种测试及品质评估等农业研究中,也经常需要对玉米颗粒进行计数或对玉米穗性状参数(如穗行数、穗粒数等)进行测量。传统的玉米颗粒计数方法是将玉米穗上脱粒,然后对籽粒数量进行人工肉眼目测,对玉米穗性状参数测量也是使用人工目测的方法。这种方法效率低,容易产生视觉疲劳,易出错,劳动成本高,劳动强度大。尽管市场上已出现专门颗粒计数的设备,但比较昂贵。 近年来,机器视觉技术迅猛发展,其应用已渗透到农业生产的各个领域。如果将玉米颗粒统计由人工检测改进机器视觉检测,则不仅可以大大解放劳动力,提高检测效率,降低劳动强度,而且还可以提高检测的准确度,减少人为的主观因素,提高检测环节的自动化程度。对于玉米颗粒的计数,目前仍然以人工计数为主,虽然已出现自动化数粒方案,但主要是基于传感器技术,设备价格昂贵,难以推广实施。

发明内容
(一 )要解决的技术问题本发明要解决的技术问题是如何提供一种玉米粒在穗计数方法,以降低现有计数方案的实施成本。( 二 )技术方案为解决上述技术问题,本发明提供一种玉米粒在穗计数方法,其包括步骤A :采集玉米穗的当前灰度图像,对所述当前灰度图像进行处理,得到第一处理区域;B :从所述第一处理区域中找到粒行提取的起始点;C :根据所述起始点从所述第一处理区域内提取首个玉米粒行;D :旋转所述玉米穗,提取下一个玉米粒行;E :判断当前玉米粒行是否与所述首个玉米粒行相同,如果相同,剔除所述当前玉米粒行,执行步骤F ;否则,执行所述步骤D ;F :依次测量各个玉米粒行的玉米粒数,得到所述玉米穗的总籽粒数。优选地,所述步骤A具体包括步骤Al :采集玉米穗的当前灰度图像,对所述当前灰度图像依次进行二值化处理、去噪处理和补洞处理,得到二值图像;A2 :对所述二值图像进行轮廓追踪处理,得到所述玉米穗的最长轮廓线对应的外接矩形区域;A3:判断所述玉米穗是否存在秃尖,如果存在,从所述外接矩形区域中去除秃尖区域,并将剩余区域作为第一处理区域;否则,直接将所述外接矩形区域作为第一处理区域。优选地,所述步骤B具体包括步骤BI :在所述第一处理区域中,选取所述玉米穗的轴线上距离根部预定参考距离处为起始参考点;B2 :以所述起始参考点为中心,从所述第一处理区域中选取第二处理区域;B3 :在所述第二处理区域中沿横向作像素灰度值累加,得到第二累计直方图曲 线.B4:对所述第二累计直方图曲线进行平滑处理得到第二平滑曲线,使用移动平均法得到所述第二累计直方图曲线对应的第二区域平均值曲线;B5 :对比所述第二区域平均值曲线,得到所述第二平滑曲线上的凹点;B6:根据所述第二处理区域纵向的长度和所述第二平滑曲线上的凹点的数量,计算得到所述第二平滑曲线上的相邻凹点的平均距离;B7:根据所述平均距离,依次判断所述第二平滑曲线上的当前凹点与上一凹点的距离是否小于预定相邻距离,如果是,剔除所述第二平滑曲线上的当前凹点;否则,保留所述第二平滑曲线上的当前凹点;B8:判断所述起始参考点的上方和下方是否均至少存在一个剩余的所述第二平滑曲线上的凹点,如果是,将所述起始参考点的上方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行上边缘起始点,将所述起始参考点的下方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行下边缘起始点,所述粒行上边缘起始点和所述粒行下边缘起始点合称粒行提取的起始点,并且将所述粒行上边缘起始点和所述粒行下边缘起始点之间的纵向距离记作粒行宽度;否则,执行步骤B9 ;B9 :判断所述起始参考点连续上移的距离是否已经达到所述平均距离,如果是,将所述起始参考点向所述玉米穗的穗尖方向移动预定横向值个像素的距离,执行所述步骤B2;否则,将所述起始参考点上移预定纵向值个像素的距离,执行所述步骤B2。优选地,所述步骤C具体包括步骤Cl :以所述粒行上边缘起始点为起点向右追踪得到粒行右侧上边缘各点;C2 :以所述粒行上边缘起始点为起点向左追踪得到粒行左侧上边缘各点;C3 :以所述粒行下边缘起始点为起点向右追踪得到粒行右侧下边缘各点;C4 :以所述粒行下边缘起始点为起点向左追踪得到粒行左侧下边缘各点;C5:根据所述粒行上边缘各点和下边缘各点,从所述第一处理区域内提取首个玉米粒行。优选地,所述步骤Cl进一步包括步骤Cll :以所述粒行上边缘起始点作为第一个已追踪到的上边缘点;C12 :设前一个已追踪到的上边缘点的坐标为(Xi, Yi),设右边相邻的待追踪的上边缘点的坐标为(Xi+1,Yi+1),并且Xi+1 = \+1,以点(Xi+1,Yi)为中心从所述第一处理区域中选取第三处理区域,所述第三处理区域的纵向长度为所述粒行宽度的2倍,所述第三处理区域的横向长度与所述第二处理区域的横向长度相同,在所述第三处理区域内沿横向作像素灰度值累加,得到第三累计直方图曲线;i为自然数;C13:对所述第三累计直方图曲线进行平滑处理得到第三平滑曲线,使用移动平均法得到所述第三累计直方图曲线对应的第三区域平均值曲线;C14:对比所述第三区域平均值曲线,得到所述第三平滑曲线上的凹点,并将距离直线y = Yi最近的所述第三平滑曲线上的凹点的纵坐标值赋值给Yi+1 ;C15 :判断IYw-YiI是否大于所述粒行宽度的四分之一,如果是,Yi+1 = Yi ;否则,保持Yi+1的值不变;C16 :将坐标为(Xi+1, Yi+1)的点作为当前追踪到的上边缘点;C17 :判断Xi+1是否等于所述第一处理区域最右侧的横坐标值,如果是,将已经追踪到的各个上边缘点作为粒行右侧上边缘各点;否则,执行所述步骤C12。 优选地,所述步骤D具体包括步骤Dl :以当前玉米粒行的粒行下边缘起始点作为连续提取粒行的参考点;D2 :顺时针旋转所述玉米穗,等待所述玉米穗旋转半个粒行所对应的角度后连续采集所述玉米穗的图像;D3 :在当前帧图像中以所述参考点为中心选取第四处理区域,在所述第四处理区域内沿横向作像素灰度值累加,得到第四累计直方图曲线;D4:根据所述第四累计直方图曲线判断相邻粒行的下边缘是否到达所述参考点,如果是,执行步骤D5 ;否则,采集所述玉米穗的下一帧图像,执行步骤D3 ;D5:以所述参考点上移半个粒行位置处的点为中心从所述当前帧图像中选取第五处理区域,从所述第五处理区域中选取新的玉米粒行的粒行上边缘起始点和粒行下边缘起始点;D6 :根据新的玉米粒行的粒行上边缘起始点和粒行下边缘起始点,提取下一个玉米粒行。优选地,所述步骤D2中所述半个粒行所对应的角度的计算公式如下P = arcsin (dr/de);其中,3表示所述半个粒行所对应的角度,dr表示所述粒行宽度,de表示所述玉米穗的直径。优选地,所述步骤D4中通过判断当前帧图像中所述第四累计直方图曲线在所述参考点处的数值是否小于灰度阈值,以确定所述相邻粒行的下边缘是否到达所述参考点;
并且,所述灰度阈值的计算公式如下
^ . T max- T minV = T min+---
4
5其中,V表示所述灰度阈值,Tmax表示前一帧图像中所述第四累计直方图曲线的最大值,Tmin表示前一帧图像中所述第四累计直方图曲线的最小值。优选地,所述步骤E具体包括步骤El :获取首个玉米粒行中间部分上边缘各点的纵坐标数据存于数组rowl中,获取当前玉米粒行中间部分上边缘各点的纵坐标数据存于数组row2中;E2:计算所述首个玉米粒行上边缘中间点所在第一预定区域内的各上边缘点的纵坐标的区域平均值yal,计算所述当前玉米粒行上边缘中间点所在第二预定区域内的各上边缘点的纵坐标的区域平均值ya2,由yal和ya2得到所述首个玉米粒行和所述当前玉米粒行在果穗图像屏幕中心的相对距离dc = ya2-yal ;E3 :将所述数组row2中的纵坐标数据分别减去dc ;E4 :根据数组rowl和数组row2中数据,计算所述当前玉米粒行与所述首个玉米粒行的上边缘各点对应相同的横坐标时纵坐标的差值的绝对值的累加和;E5:判断当前玉米粒行是否属于前9个玉米粒行,如果是,认为当前玉米粒行与所述首个玉米粒行不同,执行步骤E6 ;否则,执行步骤E7 ;E6 :判断当前玉米粒行是否是第9个玉米粒行,如果是,根据第2个玉米粒行至 第9个玉米粒行所对应的差值绝对值的累加和计算得到累加和平均值,执行所述步骤D ;否贝U,记录所述当前玉米粒行对应的差值绝对值的累加和,执行所述步骤D ;E7 :根据所述当前玉米粒行对应的差值绝对值的累加和与所述累加和平均值,判断所述当前玉米粒行是否是首个玉米粒行,如果是,剔除所述当前玉米粒行,执行步骤F ;否则,执行所述步骤D。优选地,所述步骤F具体包括步骤Fl :对当前玉米粒行的图像在所述第一处理区域内沿纵向做像素灰度值累加,得到第一累计直方图曲线;F2:对所述第一累计直方图曲线进行平滑处理得到第一平滑曲线,使用移动平均法得到所述第一累计直方图曲线的第一区域平均值曲线;F3 :对比所述第一区域平均值曲线,得到所述第一平滑曲线上的凹点;F4:根据所述第一处理区域的横向长度和所述第一平滑曲线上的凹点的数量计算得到籽粒的参考宽度;F5:根据所述参考宽度,依次判断所述第一平滑曲线上的当前凹点与上一凹点的距离是否小于预定阈值,如果是,剔除所述第一平滑曲线上的当前凹点;否则,保留所述第一平滑曲线上的当前凹点;F6 :根据所述第一平滑曲线上的剩余的凹点的数量得到当前玉米粒行的籽粒数;F7 :对各个玉米粒行依次执行所述步骤Fl至F6,得到所述玉米穗的总籽粒数。(三)有益效果本发明所述玉米粒在穗计数方法,采用常用的PC摄像头使用机器视觉的方法获得玉米穗图像,通过对图像的处理分析获得玉米穗的总粒数。所述方法无需高成本的计数设备,实施成本低,并且测量玉米穗籽粒数量快速、准确、稳定,检测方法具有灵活性、实时性和精度好等优点。


图I是本发明实施例所述玉米粒在穗计数系统的结构示意图;图2是本发明实施例所述玉米粒在穗计数方法流程图;图3是所述外接矩形区域示意图;图4是第二处理区域示意图;图5是第二平滑曲线和第二区域平均值曲线示意图;图6是所述半个粒行所对应角度的示意图7a 7c是参考点D在X方向累计直方图曲线上的变化过程示意图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。图I是本发明实施例所述玉米粒在穗计数系统的结构示意图,如图I所示,所述系统主要包括计算机、数据采集与控制单元201、玉米穗旋转单元和图像采集单元。所述计算机包括互相连接的显示器101和工控机102。所述数据采集与控制单元201连接所述工控机102。所述玉米穗旋转单元包括24V直流单源模块301、步进电机驱动器302和步进电机303。所述步进电机驱动器302连接所述数据采集与控制单元201、所述24V直流单源模块301和所述步进电机303。所述步进电机303的输出轴通过旋转台连接玉米穗500。所述图像采集单元包括=PC摄像头401和光源402。所述PC摄像头401连接所述工控机102。所述光源402设置在所述PC摄像头401周围用于照射所述玉米穗500。所述系统还包括箱体600,并且所述数据采集与控制单元201、玉米穗旋转单元和图像采集单元均设置在所述箱体600内部。在所述箱体600内部与所述PC摄像头401相对的一侧贴有黑色表面的纤维板,以为采集到的玉米穗图像提供黑色背景。本发明实施例采用PC摄像头401对玉米穗的图像采集。将所述系统连接好,接入电源,使其处于工作状态。将所述玉米穗500直立插于玉米穗旋转单元上,通过调整所述PC摄像头401的距离和方位,使玉米穗图像完整、清晰地满幅度呈现在显示器101的中央。图像分辨率设定为640X480像素,采用黑色背景。工作时,所述步进电机303驱动旋转台带动玉米穗500旋转,所述PC摄像头401在需要的时候采集果穗图像。其中,本实施例中所述步进电机303设定转速为4. 5度/秒,采用8细分方式。图2是本发明实施例所述玉米粒在穗计数方法流程图,如图2所示,所述方法包括步骤A :采集玉米穗的当前灰度图像,对所述当前灰度图像进行处理,得到第一处理区域。所述步骤A具体包括步骤Al :采集玉米穗的当前灰度图像,对所述当前灰度图像依次进行二值化处理、去噪处理和补洞处理,得到二值图像。设采集到的玉米穗的当前灰度图像的X方向(即横向)长度为xsize, y方向(即纵向)高度为ysize,则xsize = 640像素,ysize = 480像素。需要说明的是,起初采集到玉米穗的彩色图像后,将该图像转变成R、G、B三帧灰度图像。由于G帧灰度图像相对于背景比较清晰,因此本发明实施例均采用G帧灰度图像进行图像处理。步骤A2 :采用Measure outline函数对所述二值图像进行轮廓追踪处理,得到所述玉米穗的最长轮廓线对应的外接矩形区域。图3是所述外接矩形区域示意图,如图3所示,所述外接矩形区域的长度记为dx,高度记为dy,左上角坐标为(xs,ys),右下角坐标为
(Xe,ye)。步骤A3 :判断所述玉米穗是否存在秃尖,如果存在,从所述外接矩形区域中去除秃尖区域,并将剩余区域作为第一处理区域;否则,直接将所述外接矩形区域作为第一处理、区域。如图3所示,本发明实施例利用秃尖处果穗直径较小的特点,设玉米轮廓以所述玉米穗轴线为中心在y方向的距离为dy/2的待定区域所对应的横坐标为xs’,若|xs’-xs|大于dy/4,则认为所述玉米穗存在秃尖,此时可将所述待定区域(图3中线I左侧部分)从所述外接矩形区域去除,剩余区域作为所述第一处理区域,同时令Xs = xs’。步骤B :从所述第一处理区域中找到粒行提取的起始点。 所述步骤B具体包括步骤BI :在所述第一处理区域中,选取所述玉米穗的轴线上距离根部预定参考距离处为起始参考点。本实施例中所述预定参考距离为dx/4,并且所述起始参考点记作C,坐丰不为(x。,yc) o步骤B2 以所述起始参考点为中心,从所述第一处理区域中选取第二处理区域。图4是第二处理区域示意图,如图4所示,所述第二处理区域X方向宽度记为sx,Y方向宽 度为记为sy,本实施例设sx为xsize/16, sy为0. 8dy。步骤B3 :在所述第二处理区域中沿横向作像素灰度值累加,得到第二累计直方图曲线。步骤B4 :对所述第二累计直方图曲线进行平滑处理得到第二平滑曲线,使用移动平均法得到所述第二累计直方图曲线对应的第二区域平均值曲线。图5是第二平滑曲线和第二区域平均值曲线示意图,如图5所示,H2表示第二平滑曲线,H3表示第二区域平均值曲线。步骤B5 :对比所述第二区域平均值曲线,得到所述第二平滑曲线上的凹点。如图5所示,图中A点和B点处即为所述第二平滑曲线上的凹点。步骤B6 :根据所述第二处理区域纵向的长度和所述第二平滑曲线上的凹点的数量,计算得到所述第二平滑曲线上的相邻凹点的平均距离。假设所述第二平滑曲线上的凹点的数量为nl,则dl = sy/nl即为所述第二平滑曲线上的相邻凹点的平均距离。步骤B7 :根据所述平均距离,依次判断所述第二平滑曲线上的当前凹点与上一凹点的距离是否小于预定相邻距离,如果是,剔除所述第二平滑曲线上的当前凹点;否则,保留所述第二平滑曲线上的当前凹点。本实施例中所述预定相邻距离为dl/2。步骤B8 :判断所述起始参考点的上方和下方是否均至少存在一个剩余的所述第二平滑曲线上的凹点,如果是,将所述起始参考点的上方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行上边缘起始点,记作A点,坐标为(Xyya);将所述起始参考点的下方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行下边缘起始点,记作B点,坐标为(X。,yb);所述粒行上边缘起始点和所述粒行下边缘起始点合称粒行提取的起始点,并且将所述粒行上边缘起始点和所述粒行下边缘起始点之间的纵向距离记作粒行宽度dr;否则,执行步骤B9;步骤B9 :判断所述起始参考点连续上移的距离是否已经达到所述平均距离dl,如果是,将所述起始参考点向所述玉米穗的穗尖方向移动预定横向值个像素的距离,执行所述步骤B2 ;否则,将所述起始参考点上移预定纵向值个像素的距离,执行所述步骤B2。所述预定横向值一般为10,所述预定纵向值一般为1、2或者5。步骤C :根据所述起始点从所述第一处理区域内提取首个玉米粒行。所述步骤C具体包括
步骤Cl :以所述粒行上边缘起始点为起点向右追踪得到粒行右侧上边缘各点。所述步骤Cl进一步包括步骤Cll :以所述粒行上边缘起始点作为第一个已追踪到的上边缘点;步骤C12 :设前一个已追踪到的上边缘点的坐标为(Xi, Yi),设右边相邻的待追踪的上边缘点的坐标为(Xi+1,Yi+1),并且Xi+1 = \+1,以点(Xi+1,Yi)为中心从所述第一处理区域中选取第三处理区域,所述第三处理区域的纵向长度为所述粒行宽度的2倍,即2dr ;所述第三处理区域的横向长度与所述第二处理区域的横向长度相同,在所述第三处理区域内沿横向作像素灰度值累加,得到第三累计直方图曲线。本步骤Cl中i为表示编号的自然数。步骤C13 :对所述第三累计直方图曲线进行平滑处理得到第三平滑曲线,使用移动平均法得到所述第三累计直方图曲线对应的第三区域平均值曲线。步骤C14 :对比所述第三区域平均值曲线,得到所述第三平滑曲线上的凹点,并将 距离直线I = Yi最近的所述第三平滑曲线上的凹点的纵坐标值赋值给Yi+4。步骤C15 :判断IYw-YiI是否大于所述粒行宽度的四分之一,如果是,Yi+1 = Yi ;否贝U,保持Yi+1的值不变。步骤C16:将坐标为(Xi+1,Yi+1)的点作为当前追踪到的上边缘点。步骤C17 :判断Xi+1是否等于所述第一处理区域最右侧的横坐标值&,如果是,将已经追踪到的各个上边缘点作为粒行右侧上边缘各点;否则,执行所述步骤C12。步骤C2 :以所述粒行上边缘起始点为起点向左追踪得到粒行左侧上边缘各点。步骤C3 :以所述粒行下边缘起始点为起点向右追踪得到粒行右侧下边缘各点。步骤C4 以所述粒行下边缘起始点为起点向左追踪得到粒行左侧下边缘各点。所述步骤C2、C3和C4的操作过程与所述步骤Cl的操作过程基本相同,在此不再赘述。步骤C5 :根据所述粒行上边缘各点和下边缘各点,从所述第一处理区域内提取首个玉米粒行。步骤D :旋转所述玉米穗,提取下一个玉米粒行。所述步骤D具体包括步骤Dl :以当前玉米粒行的粒行下边缘起始点作为连续提取粒行的参考点,记作点D,坐标为(xc, yd)。步骤D2 :顺时针旋转所述玉米穗,等待所述玉米穗旋转半个粒行所对应的角度后连续采集所述玉米穗的图像。图6是所述半个粒行所对应角度的示意图,如图6所示,半个粒行所对应的角度的计算公式如下= a /2 = arcsin (dr/de);其中,0表示所述半个粒行所对应的角度,a表示I个粒行所对应的角度,dr表示所述粒行宽度,de表示所述玉米穗的直径。步骤D3 :在当前帧图像中以所述参考点为中心选取第四处理区域,在所述第四处理区域内沿横向作像素灰度值累加,得到第四累计直方图曲线。步骤D4:根据所述第四累计直方图曲线判断相邻粒行的下边缘是否到达所述参考点,如果是,执行步骤D5 ;否则,采集所述玉米穗的下一帧图像,执行步骤D3。所述步骤D4中通过判断当前帧图像中所述第四累计直方图曲线在所述参考点处的数值是否小于等于灰度阈值,以确定所述相邻粒行的下边缘是否到达所述参考点;并且,所述灰度阈值的计算公式如下

其中,V表示所述灰度阈值,Tmax表示前一帧图像中所述第四累计直方图曲线的最大值,Tmin表示前一帧图像中所述第四累计直方图曲线的最小值。
由于玉米穗是顺时针旋转,采集的果穗图像中的中间粒行自下向上移动。因此,在采集的连续图像中,参考点D位置处的X向累积灰度值会逐帧减小。图7a 7c是参考点D在X方向累计直方图曲线上的变化过程示意图,图7a表示在提取前一粒行时参考点D位于前一粒行的下边缘,图7b表示寻找下一个相邻粒行的首帧图像中参考点D位于下一个粒行的中部,图7c表示寻找下一个相邻粒行的末帧图像中参考点D对应的X方向灰度累计值已经下降到等于所述灰度阈值V,此时认为相邻粒行的下边缘到达所述参考点D。步骤D5 :以所述参考点上移半个粒行位置处的点为中心从所述当前帧图像中选取第五处理区域,从所述第五处理区域中选取新的玉米粒行的粒行上边缘起始点和粒行下边缘起始点。步骤D6 :根据新的玉米粒行的粒行上边缘起始点和粒行下边缘起始点,提取下一个玉米粒行。该步骤的提取过程与所述步骤C基本相同,在此不再赘述。步骤E :判断当前玉米粒行是否与所述首个玉米粒行相同,如果相同,剔除所述当前玉米粒行,执行步骤F ;否则,执行所述步骤D。 所述步骤E具体包括步骤El :获取首个玉米粒行中间部分上边缘各点的纵坐标数据存于数组rowl中,获取当前玉米粒行中间部分上边缘各点的纵坐标数据存于数组row2中。由于粒行两端提取效果相对于中间部分较差,因此本实施例中对于首个粒行和当前粒行,只取X坐标在[xs+0. ldx, xe-0. Idx]范围内的y坐标数据依次存于数组rowl和row2中,数组长度为0. 8dx+l0步骤E2 :计算所述首个玉米粒行上边缘中间点所在第一预定区域内的各上边缘点的纵坐标的区域平均值yal,计算所述当前玉米粒行上边缘中间点所在第二预定区域内的各上边缘点的纵坐标的区域平均值ya2,由yal和ya2得到所述首个玉米粒行和所述当前玉米粒行在果穗图像屏幕中心的相对距离dc = ya2_yal。本实施例中所述第一预定区域和第二预定区域均为X坐标范围[xsize/2-0. 05dx, xsize/2+0. 05dx]的对应区域。步骤E3 :将所述数组row2中的纵坐标数据分别减去dc。步骤E4 :根据数组rowl和数组row2中数据,计算所述当前玉米粒行与所述首个玉米粒行的上边缘各点对应相同的横坐标时纵坐标的差值的绝对值的累加和,存储至数组sumd中,即sumd[j] = E |row2[i]rowl [i] |,本步骤E4中,j为当前粒行的自然数序号(首次提取的粒行序号为0,其他连续提取的粒行序号依次加I),i e
,表示数组rowl和数组row2中对应横坐标的自然数编号。步骤E5 :判断当前玉米粒行是否属于前9个玉米粒行,如果是,认为当前玉米粒行与所述首个玉米粒行不同,执行步骤E6 ;否则,执行步骤E7 ;步骤E6 :判断当前玉米粒行是否是第9个玉米粒行,如果是,根据第2个玉米粒行至第9个玉米粒行所对应的差值绝对值的累加和计算得到累加和平均值,记作sumO,执行所述步骤D ;否则,记录所述当前玉米粒行对应的差值绝对值的累加和,执行所述步骤D。因为玉米穗的粒行通常大于10行,因此,本实施例以第9行为判断界限。步骤E7 :根据所述当前玉米粒行对应的差值绝对值的累加和与所述累加和平均值,判断所述当前玉米粒行是否是首个玉米粒行,如果是,剔除所述当前玉米粒行,执行步骤F ;否则,执行所述步骤D。本步骤中,以2/3sum0作为差值阈值进行判断,如果所述当前玉米粒行对应的差值绝对值的累加和小于2/3sum0,则认为所述当前玉米粒行是首个玉米粒行;反之,认为其不是首个玉米粒行。步骤F :依次测量各个玉米粒行的玉米粒数,得到所述玉米穗的总籽粒数。所述步骤F具体包括步骤Fl :对当前玉米粒行的图像在所述第一处理区域内沿纵向做像素灰度值累力口,得到第一累计直方图曲线。 步骤F2 :对所述第一累计直方图曲线进行平滑处理得到第一平滑曲线,使用移动平均法得到所述第一累计直方图曲线的第一区域平均值曲线。步骤F3 :对比所述第一区域平均值曲线,得到所述第一平滑曲线上的凹点。步骤F4:根据所述第一处理区域的横向长度和所述第一平滑曲线上的凹点的数量计算得到籽粒的参考宽度。设所述第一平滑曲线上的凹点的数量为nn,则籽粒参考宽度dd = dx/(nn+1)。步骤F5 :根据所述参考宽度,依次判断所述第一平滑曲线上的当前凹点与上一凹点的距离是否小于预定阈值,如果是,剔除所述第一平滑曲线上的当前凹点;否则,保留所述第一平滑曲线上的当前凹点。所述预定阈值一般为f―。步骤F6 :根据所述第一平滑曲线上的剩余的凹点的数量得到当前玉米粒行的籽粒数。当前玉米粒行的籽粒数等于所述第一平滑曲线上的剩余的凹点的数量加I。步骤F7 :对各个玉米粒行依次执行所述步骤Fl至F6,得到所述玉米穗的总籽粒数。为了验证本发明所述方法的效果,我们进行了验证实验,在实验中,共随机选取各种玉米穗12个,使用本发明所述的实验装置和方法,进行穗粒数统计的结果如表I所示。实验中发现,在光照强度一定的情况下,误差主要存在于籽粒稀疏的玉米穗顶端和排列不整齐的根部。实验证明,本发明所述方法可以对玉米穗籽粒进行无损有效的统计,通过对12个不同情况玉米穗的试验,计数准确率达到95%。表I玉米穗穗粒数测量的实验结果
权利要求
1.一种玉米粒在穗计数方法,其特征在于,包括步骤 A :采集玉米穗的当前灰度图像,对所述当前灰度图像进行处理,得到第一处理区域; B :从所述第一处理区域中找到粒行提取的起始点; C :根据所述起始点从所述第一处理区域内提取首个玉米粒行; D :旋转所述玉米穗,提取下一个玉米粒行; E :判断当前玉米粒行是否与所述首个玉米粒行相同,如果相同,剔除所述当前玉米粒行,执行步骤F ;否则,执行所述步骤D ; F :依次测量各个玉米粒行的玉米粒数,得到所述玉米穗的总籽粒数。
2.如权利要求I所述的方法,其特征在于,所述步骤A具体包括步骤 Al :采集玉米穗的当前灰度图像,对所述当前灰度图像依次进行二值化处理、去噪处理和补洞处理,得到二值图像; A2 :对所述二值图像进行轮廓追踪处理,得到所述玉米穗的最长轮廓线对应的外接矩形区域; A3 :判断所述玉米穗是否存在秃尖,如果存在,从所述外接矩形区域中去除秃尖区域,并将剩余区域作为第一处理区域;否则,直接将所述外接矩形区域作为第一处理区域。
3.如权利要求I所述的方法,其特征在于,所述步骤B具体包括步骤 BI :在所述第一处理区域中,选取所述玉米穗的轴线上距离根部预定参考距离处为起始参考点; B2 :以所述起始参考点为中心,从所述第一处理区域中选取第二处理区域; B3 :在所述第二处理区域中沿横向作像素灰度值累加,得到第二累计直方图曲线; B4:对所述第二累计直方图曲线进行平滑处理得到第二平滑曲线,使用移动平均法得到所述第二累计直方图曲线对应的第二区域平均值曲线; B5 :对比所述第二区域平均值曲线,得到所述第二平滑曲线上的凹点; B6:根据所述第二处理区域纵向的长度和所述第二平滑曲线上的凹点的数量,计算得到所述第二平滑曲线上的相邻凹点的平均距离; B7:根据所述平均距离,依次判断所述第二平滑曲线上的当前凹点与上一凹点的距离是否小于预定相邻距离,如果是,剔除所述第二平滑曲线上的当前凹点;否则,保留所述第二平滑曲线上的当前凹点; B8 :判断所述起始参考点的上方和下方是否均至少存在一个剩余的所述第二平滑曲线上的凹点,如果是,将所述起始参考点的上方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行上边缘起始点,将所述起始参考点的下方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行下边缘起始点,所述粒行上边缘起始点和所述粒行下边缘起始点合称粒行提取的起始点,并且将所述粒行上边缘起始点和所述粒行下边缘起始点之间的纵向距离记作粒行宽度;否则,执行步骤B9 ; B9 :判断所述起始参考点连续上移的距离是否已经达到所述平均距离,如果是,将所述起始参考点向所述玉米穗的穗尖方向移动预定横向值个像素的距离,执行所述步骤B2;否贝U,将所述起始参考点上移预定纵向值个像素的距离,执行所述步骤B2。
4.如权利要求3所述的方法,其特征在于,所述步骤C具体包括步骤 Cl :以所述粒行上边缘起始点为起点向右追踪得到粒行右侧上边缘各点;C2 :以所述粒行上边缘起始点为起点向左追踪得到粒行左侧上边缘各点; C3 :以所述粒行下边缘起始点为起点向右追踪得到粒行右侧下边缘各点; C4 :以所述粒行下边缘起始点为起点向左追踪得到粒行左侧下边缘各点; C5 :根据所述粒行上边缘各点和下边缘各点,从所述第一处理区域内提取首个玉米粒行。
5.如权利要求4所述的方法,其特征在于,所述步骤Cl进一步包括步骤 Cii:以所述粒行上边缘起始点作为第一个已追踪到的上边缘点; C12 :设前一个已追踪到的上边缘点的坐标为(Xi, Yi),设右边相邻的待追踪的上边缘点的坐标为(Xi+1,Yi+1),并且Xi+1 =Xi+l,以点(Xi+1,Yi)为中心从所述第一处理区域中选取第三处理区域,所述第三处理区域的纵向长度为所述粒行宽度的2倍,所述第三处理区域的横向长度与所述第二处理区域的横向长度相同,在所述第三处理区域内沿横向作像素灰度值累加,得到第三累计直方图曲线为自然数; C13 :对所述第三累计直方图曲线进行平滑处理得到第三平滑曲线,使用移动平均法得到所述第三累计直方图曲线对应的第三区域平均值曲线; C14:对比所述第三区域平均值曲线,得到所述第三平滑曲线上的凹点,并将距离直线y = Yi最近的所述第三平滑曲线上的凹点的纵坐标值赋值给Yi+1 ; C15 :判断IYw-YiI是否大于所述粒行宽度的四分之一,如果是,Yi+1 = Yi ;否则,保持Yi+1的值不变; C16 :将坐标为(Xi+1,Yi+1)的点作为当前追踪到的上边缘点; C17 :判断Xi+1是否等于所述第一处理区域最右侧的横坐标值,如果是,将已经追踪到的各个上边缘点作为粒行右侧上边缘各点;否则,执行所述步骤C12。
6.如权利要求5所述的方法,其特征在于,所述步骤D具体包括步骤 Dl :以当前玉米粒行的粒行下边缘起始点作为连续提取粒行的参考点; D2 :顺时针旋转所述玉米穗,等待所述玉米穗旋转半个粒行所对应的角度后连续采集所述玉米穗的图像; D3 :在当前帧图像中以所述参考点为中心选取第四处理区域,在所述第四处理区域内沿横向作像素灰度值累加,得到第四累计直方图曲线; D4 :根据所述第四累计直方图曲线判断相邻粒行的下边缘是否到达所述参考点,如果是,执行步骤D5 ;否则,采集所述玉米穗的下一帧图像,执行步骤D3 ; D5:以所述参考点上移半个粒行位置处的点为中心从所述当前帧图像中选取第五处理区域,从所述第五处理区域中选取新的玉米粒行的粒行上边缘起始点和粒行下边缘起始占. D6 :根据新的玉米粒行的粒行上边缘起始点和粒行下边缘起始点,提取下一个玉米粒行。
7.如权利要求6所述的方法,其特征在于,所述步骤D2中所述半个粒行所对应的角度的计算公式如下·3 = arcsin (dr/de); 其中,3表示所述半个粒行所对应的角度,dr表示所述粒行宽度,de表示所述玉米穗的直径。
8.如权利要求6所述的方法,其特征在于,所述步骤D4中通过判断当前帧图像中所述第四累计直方图曲线在所述参考点处的数值是否小于灰度阈值,以确定所述相邻粒行的下边缘是否到达所述参考点;并且,所述灰度阈值的计算公式如下
9.如权利要求6所述的方法,其特征在于,所述步骤E具体包括步骤 El :获取首个玉米粒行中间部分上边缘各点的纵坐标数据存于数组rowl中,获取当前玉米粒行中间部分上边缘各点的纵坐标数据存于数组row2中; E2 :计算所述首个玉米粒行上边缘中间点所在第一预定区域内的各上边缘点的纵坐标的区域平均值yal,计算所述当前玉米粒行上边缘中间点所在第二预定区域内的各上边缘点的纵坐标的区域平均值ya2,由yal和ya2得到所述首个玉米粒行和所述当前玉米粒行在果穗图像屏幕中心的相对距离dc = ya2-yal ; E3 :将所述数组row2中的纵坐标数据分别减去dc ; E4 :根据数组rowl和数组row2中数据,计算所述当前玉米粒行与所述首个玉米粒行的上边缘各点对应相同的横坐标时纵坐标的差值的绝对值的累加和; E5 :判断当前玉米粒行是否属于前9个玉米粒行,如果是,认为当前玉米粒行与所述首个玉米粒行不同,执行步骤E6 ;否则,执行步骤E7 ; E6 :判断当前玉米粒行是否是第9个玉米粒行,如果是,根据第2个玉米粒行至第9个玉米粒行所对应的差值绝对值的累加和计算得到累加和平均值,执行所述步骤D ;否则,记录所述当前玉米粒行对应的差值绝对值的累加和,执行所述步骤D ; E7 :根据所述当前玉米粒行对应的差值绝对值的累加和与所述累加和平均值,判断所述当前玉米粒行是否是首个玉米粒行,如果是,剔除所述当前玉米粒行,执行步骤F ;否则,执行所述步骤D。
10.如权利要求9所述的方法,其特征在于,所述步骤F具体包括步骤 Fl :对当前玉米粒行的图像在所述第一处理区域内沿纵向做像素灰度值累加,得到第一累计直方图曲线; F2:对所述第一累计直方图曲线进行平滑处理得到第一平滑曲线,使用移动平均法得到所述第一累计直方图曲线的第一区域平均值曲线; F3 :对比所述第一区域平均值曲线,得到所述第一平滑曲线上的凹点; F4:根据所述第一处理区域的横向长度和所述第一平滑曲线上的凹点的数量计算得到籽粒的参考宽度; F5 :根据所述参考宽度,依次判断所述第一平滑曲线上的当前凹点与上一凹点的距离是否小于预定阈值,如果是,剔除所述第一平滑曲线上的当前凹点;否则,保留所述第一平滑曲线上的当前凹点; F6 :根据所述第一平滑曲线上的剩余的凹点的数量得到当前玉米粒行的籽粒数; F7 :对各个玉米粒行依次执行所述步骤Fl至F6,得到所述玉米穗的总籽粒数。
全文摘要
本发明公开了一种玉米粒在穗计数方法,涉及机器视觉领域。所述方法包括步骤A采集玉米穗的当前灰度图像,对所述当前灰度图像进行处理,得到第一处理区域;B从所述第一处理区域中找到粒行提取的起始点;C根据所述起始点从所述第一处理区域内提取首个玉米粒行;D旋转所述玉米穗,提取下一个玉米粒行;E判断当前玉米粒行是否与所述首个玉米粒行相同,如果相同,剔除所述当前玉米粒行,执行步骤F;否则,执行所述步骤D;F依次测量各个玉米粒行的玉米粒数,得到所述玉米穗的总籽粒数。所述方法无需高成本的计数设备,实施成本低,并且测量玉米穗籽粒数量快速、准确、稳定,检测方法具有灵活性、实时性和精度好等优点。
文档编号G06M11/00GK102750584SQ20121011549
公开日2012年10月24日 申请日期2012年4月18日 优先权日2012年4月18日
发明者刘长青, 陈兵旗 申请人:中国农业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1