CN102750584B - 玉米粒在穗计数方法 - Google Patents
玉米粒在穗计数方法 Download PDFInfo
- Publication number
- CN102750584B CN102750584B CN201210115497.2A CN201210115497A CN102750584B CN 102750584 B CN102750584 B CN 102750584B CN 201210115497 A CN201210115497 A CN 201210115497A CN 102750584 B CN102750584 B CN 102750584B
- Authority
- CN
- China
- Prior art keywords
- point
- grain
- row
- current
- curve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种玉米粒在穗计数方法,涉及机器视觉领域。所述方法包括步骤:A:采集玉米穗的当前灰度图像,对所述当前灰度图像进行处理,得到第一处理区域;B:从所述第一处理区域中找到粒行提取的起始点;C:根据所述起始点从所述第一处理区域内提取首个玉米粒行;D:旋转所述玉米穗,提取下一个玉米粒行;E:判断当前玉米粒行是否与所述首个玉米粒行相同,如果相同,剔除所述当前玉米粒行,执行步骤F;否则,执行所述步骤D;F:依次测量各个玉米粒行的玉米粒数,得到所述玉米穗的总籽粒数。所述方法无需高成本的计数设备,实施成本低,并且测量玉米穗籽粒数量快速、准确、稳定,检测方法具有灵活性、实时性和精度好等优点。
Description
技术领域
本发明涉及机器视觉技术领域,特别涉及一种玉米粒在穗计数方法。
背景技术
玉米是一种被广泛种植的农作物,通常需要在收获之前通过抽样的方式对其产量进行估测。而穗粒数和百粒重是对玉米产量预估的重要参数,要获得这些参数,需要对玉米籽粒的数量进行统计。另外,在对玉米育种、栽培、新品种测试及品质评估等农业研究中,也经常需要对玉米颗粒进行计数或对玉米穗性状参数(如穗行数、穗粒数等)进行测量。传统的玉米颗粒计数方法是将玉米穗上脱粒,然后对籽粒数量进行人工肉眼目测,对玉米穗性状参数测量也是使用人工目测的方法。这种方法效率低,容易产生视觉疲劳,易出错,劳动成本高,劳动强度大。尽管市场上已出现专门颗粒计数的设备,但比较昂贵。
近年来,机器视觉技术迅猛发展,其应用已渗透到农业生产的各个领域。如果将玉米颗粒统计由人工检测改进机器视觉检测,则不仅可以大大解放劳动力,提高检测效率,降低劳动强度,而且还可以提高检测的准确度,减少人为的主观因素,提高检测环节的自动化程度。
对于玉米颗粒的计数,目前仍然以人工计数为主,虽然已出现自动化数粒方案,但主要是基于传感器技术,设备价格昂贵,难以推广实施。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种玉米粒在穗计数方法,以降低现有计数方案的实施成本。
(二)技术方案
为解决上述技术问题,本发明提供一种玉米粒在穗计数方法,其包括步骤:
A:采集玉米穗的当前灰度图像,对所述当前灰度图像进行处理,得到第一处理区域;
B:从所述第一处理区域中找到粒行提取的起始点;
C:根据所述起始点从所述第一处理区域内提取首个玉米粒行;
D:旋转所述玉米穗,提取下一个玉米粒行;
E:判断当前玉米粒行是否与所述首个玉米粒行相同,如果相同,剔除所述当前玉米粒行,执行步骤F;否则,执行所述步骤D;
F:依次测量各个玉米粒行的玉米粒数,得到所述玉米穗的总籽粒数。
优选地,所述步骤A具体包括步骤:
A1:采集玉米穗的当前灰度图像,对所述当前灰度图像依次进行二值化处理、去噪处理和补洞处理,得到二值图像;
A2:对所述二值图像进行轮廓追踪处理,得到所述玉米穗的最长轮廓线对应的外接矩形区域;
A3:判断所述玉米穗是否存在秃尖,如果存在,从所述外接矩形区域中去除秃尖区域,并将剩余区域作为第一处理区域;否则,直接将所述外接矩形区域作为第一处理区域。
优选地,所述步骤B具体包括步骤:
B1:在所述第一处理区域中,选取所述玉米穗的轴线上距离根部预定参考距离处为起始参考点;
B2:以所述起始参考点为中心,从所述第一处理区域中选取第二处理区域;
B3:在所述第二处理区域中沿横向作像素灰度值累加,得到第二累计直方图曲线;
B4:对所述第二累计直方图曲线进行平滑处理得到第二平滑曲线,使用移动平均法得到所述第二累计直方图曲线对应的第二区域平均值曲线;
B5:对比所述第二区域平均值曲线,得到所述第二平滑曲线上的凹点;
B6:根据所述第二处理区域纵向的长度和所述第二平滑曲线上的凹点的数量,计算得到所述第二平滑曲线上的相邻凹点的平均距离;
B7:根据所述平均距离,依次判断所述第二平滑曲线上的当前凹点与上一凹点的距离是否小于预定相邻距离,如果是,剔除所述第二平滑曲线上的当前凹点;否则,保留所述第二平滑曲线上的当前凹点;
B8:判断所述起始参考点的上方和下方是否均至少存在一个剩余的所述第二平滑曲线上的凹点,如果是,将所述起始参考点的上方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行上边缘起始点,将所述起始参考点的下方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行下边缘起始点,所述粒行上边缘起始点和所述粒行下边缘起始点合称粒行提取的起始点,并且将所述粒行上边缘起始点和所述粒行下边缘起始点之间的纵向距离记作粒行宽度;否则,执行步骤B9;
B9:判断所述起始参考点连续上移的距离是否已经达到所述平均距离,如果是,将所述起始参考点向所述玉米穗的穗尖方向移动预定横向值个像素的距离,执行所述步骤B2;否则,将所述起始参考点上移预定纵向值个像素的距离,执行所述步骤B2。
优选地,所述步骤C具体包括步骤:
C1:以所述粒行上边缘起始点为起点向右追踪得到粒行右侧上边缘各点;
C2:以所述粒行上边缘起始点为起点向左追踪得到粒行左侧上边缘各点;
C3:以所述粒行下边缘起始点为起点向右追踪得到粒行右侧下边缘各点;
C4:以所述粒行下边缘起始点为起点向左追踪得到粒行左侧下边缘各点;
C5:根据所述粒行上边缘各点和下边缘各点,从所述第一处理区域内提取首个玉米粒行。
优选地,所述步骤C1进一步包括步骤:
C11:以所述粒行上边缘起始点作为第一个已追踪到的上边缘点;
C12:设前一个已追踪到的上边缘点的坐标为(Xi,Yi),设右边相邻的待追踪的上边缘点的坐标为(Xi+1,Yi+1),并且Xi+1=Xi+1,以点(Xi+1,Yi)为中心从所述第一处理区域中选取第三处理区域,所述第三处理区域的纵向长度为所述粒行宽度的2倍,所述第三处理区域的横向长度与所述第二处理区域的横向长度相同,在所述第三处理区域内沿横向作像素灰度值累加,得到第三累计直方图曲线;i为自然数;
C13:对所述第三累计直方图曲线进行平滑处理得到第三平滑曲线,使用移动平均法得到所述第三累计直方图曲线对应的第三区域平均值曲线;
C14:对比所述第三区域平均值曲线,得到所述第三平滑曲线上的凹点,并将距离直线y=Yi最近的所述第三平滑曲线上的凹点的纵坐标值赋值给Yi+1;
C15:判断|Yi+1-Yi|是否大于所述粒行宽度的四分之一,如果是,Yi+1=Yi;否则,保持Yi+1的值不变;
C16:将坐标为(Xi+1,Yi+1)的点作为当前追踪到的上边缘点;
C17:判断Xi+1是否等于所述第一处理区域最右侧的横坐标值,如果是,将已经追踪到的各个上边缘点作为粒行右侧上边缘各点;否则,执行所述步骤C12。
优选地,所述步骤D具体包括步骤:
D1:以当前玉米粒行的粒行下边缘起始点作为连续提取粒行的参考点;
D2:顺时针旋转所述玉米穗,等待所述玉米穗旋转半个粒行所对应的角度后连续采集所述玉米穗的图像;
D3:在当前帧图像中以所述参考点为中心选取第四处理区域,在所述第四处理区域内沿横向作像素灰度值累加,得到第四累计直方图曲线;
D4:根据所述第四累计直方图曲线判断相邻粒行的下边缘是否到达所述参考点,如果是,执行步骤D5;否则,采集所述玉米穗的下一帧图像,执行步骤D3;
D5:以所述参考点上移半个粒行位置处的点为中心从所述当前帧图像中选取第五处理区域,从所述第五处理区域中选取新的玉米粒行的粒行上边缘起始点和粒行下边缘起始点;
D6:根据新的玉米粒行的粒行上边缘起始点和粒行下边缘起始点,提取下一个玉米粒行。
优选地,所述步骤D2中所述半个粒行所对应的角度的计算公式如下:
β=arcsin(dr/de);
其中,β表示所述半个粒行所对应的角度,dr表示所述粒行宽度,de表示所述玉米穗的直径。
优选地,所述步骤D4中通过判断当前帧图像中所述第四累计直方图曲线在所述参考点处的数值是否小于灰度阈值,以确定所述相邻粒行的下边缘是否到达所述参考点;并且,所述灰度阈值的计算公式如下:
其中,V表示所述灰度阈值,Tmax表示前一帧图像中所述第四 累计直方图曲线的最大值,Tmin表示前一帧图像中所述第四累计直方图曲线的最小值。
优选地,所述步骤E具体包括步骤:
E1:获取首个玉米粒行中间部分上边缘各点的纵坐标数据存于数组row1中,获取当前玉米粒行中间部分上边缘各点的纵坐标数据存于数组row2中;
E2:计算所述首个玉米粒行上边缘中间点所在第一预定区域内的各上边缘点的纵坐标的区域平均值ya1,计算所述当前玉米粒行上边缘中间点所在第二预定区域内的各上边缘点的纵坐标的区域平均值ya2,由ya1和ya2得到所述首个玉米粒行和所述当前玉米粒行在果穗图像屏幕中心的相对距离dc=ya2-ya1;
E3:将所述数组row2中的纵坐标数据分别减去dc;
E4:根据数组row1和数组row2中数据,计算所述当前玉米粒行与所述首个玉米粒行的上边缘各点对应相同的横坐标时纵坐标的差值的绝对值的累加和;
E5:判断当前玉米粒行是否属于前9个玉米粒行,如果是,认为当前玉米粒行与所述首个玉米粒行不同,执行步骤E6;否则,执行步骤E7;
E6:判断当前玉米粒行是否是第9个玉米粒行,如果是,根据第2个玉米粒行至第9个玉米粒行所对应的差值绝对值的累加和计算得到累加和平均值,执行所述步骤D;否则,记录所述当前玉米粒行对应的差值绝对值的累加和,执行所述步骤D;
E7:根据所述当前玉米粒行对应的差值绝对值的累加和与所述累加和平均值,判断所述当前玉米粒行是否是首个玉米粒行,如果是,剔除所述当前玉米粒行,执行步骤F;否则,执行所述步骤D。
优选地,所述步骤F具体包括步骤:
F1:对当前玉米粒行的图像在所述第一处理区域内沿纵向做像素 灰度值累加,得到第一累计直方图曲线;
F2:对所述第一累计直方图曲线进行平滑处理得到第一平滑曲线,使用移动平均法得到所述第一累计直方图曲线的第一区域平均值曲线;
F3:对比所述第一区域平均值曲线,得到所述第一平滑曲线上的凹点;
F4:根据所述第一处理区域的横向长度和所述第一平滑曲线上的凹点的数量计算得到籽粒的参考宽度;
F5:根据所述参考宽度,依次判断所述第一平滑曲线上的当前凹点与上一凹点的距离是否小于预定阈值,如果是,剔除所述第一平滑曲线上的当前凹点;否则,保留所述第一平滑曲线上的当前凹点;
F6:根据所述第一平滑曲线上的剩余的凹点的数量得到当前玉米粒行的籽粒数;
F7:对各个玉米粒行依次执行所述步骤F1至F6,得到所述玉米穗的总籽粒数。
(三)有益效果
本发明所述玉米粒在穗计数方法,采用常用的PC摄像头使用机器视觉的方法获得玉米穗图像,通过对图像的处理分析获得玉米穗的总粒数。所述方法无需高成本的计数设备,实施成本低,并且测量玉米穗籽粒数量快速、准确、稳定,检测方法具有灵活性、实时性和精度好等优点。
附图说明
图1是本发明实施例所述玉米粒在穗计数系统的结构示意图;
图2是本发明实施例所述玉米粒在穗计数方法流程图;
图3是所述外接矩形区域示意图;
图4是第二处理区域示意图;
图5是第二平滑曲线和第二区域平均值曲线示意图;
图6是所述半个粒行所对应角度的示意图;
图7a~7c是参考点D在X方向累计直方图曲线上的变化过程示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明实施例所述玉米粒在穗计数系统的结构示意图,如图1所示,所述系统主要包括:计算机、数据采集与控制单元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的中央。图像分辨率设定为640×480像素,采用黑色背景。工作时,所述步进电机303驱动旋转台带动玉米穗500旋转,所述PC摄像头401在需要的时候采集果穗图像。其中,本实施例中所述步进电机303设定转速为4.5度/ 秒,采用8细分方式。
图2是本发明实施例所述玉米粒在穗计数方法流程图,如图2所示,所述方法包括:
步骤A:采集玉米穗的当前灰度图像,对所述当前灰度图像进行处理,得到第一处理区域。
所述步骤A具体包括:
步骤A1:采集玉米穗的当前灰度图像,对所述当前灰度图像依次进行二值化处理、去噪处理和补洞处理,得到二值图像。设采集到的玉米穗的当前灰度图像的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中线1左侧部分)从所述外接矩形区域去除,剩余区域作为所述第一处理区域,同时令xs=xs’。
步骤B:从所述第一处理区域中找到粒行提取的起始点。
所述步骤B具体包括:
步骤B1:在所述第一处理区域中,选取所述玉米穗的轴线上距离根部预定参考距离处为起始参考点。本实施例中所述预定参考距离为dx/4,并且所述起始参考点记作C,坐标为(xc,yc)。
步骤B2:以所述起始参考点为中心,从所述第一处理区域中选取第二处理区域。图4是第二处理区域示意图,如图4所示,所述第二处理区域X方向宽度记为sx,Y方向宽度为记为sy,本实施例设sx为xsize/16,sy为0.8dy。
步骤B3:在所述第二处理区域中沿横向作像素灰度值累加,得到第二累计直方图曲线。
步骤B4:对所述第二累计直方图曲线进行平滑处理得到第二平滑曲线,使用移动平均法得到所述第二累计直方图曲线对应的第二区域平均值曲线。图5是第二平滑曲线和第二区域平均值曲线示意图,如图5所示,H2表示第二平滑曲线,H3表示第二区域平均值曲线。
步骤B5:对比所述第二区域平均值曲线,得到所述第二平滑曲线上的凹点。如图5所示,图中A点和B点处即为所述第二平滑曲线上的凹点。
步骤B6:根据所述第二处理区域纵向的长度和所述第二平滑曲线上的凹点的数量,计算得到所述第二平滑曲线上的相邻凹点的平均距离。假设所述第二平滑曲线上的凹点的数量为n1,则d1=sy/n1即为所述第二平滑曲线上的相邻凹点的平均距离。
步骤B7:根据所述平均距离,依次判断所述第二平滑曲线上的当前凹点与上一凹点的距离是否小于预定相邻距离,如果是,剔除所述第二平滑曲线上的当前凹点;否则,保留所述第二平滑曲线上的当前凹点。本实施例中所述预定相邻距离为d1/2。
步骤B8:判断所述起始参考点的上方和下方是否均至少存在一个剩余的所述第二平滑曲线上的凹点,如果是,将所述起始参考点的 上方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行上边缘起始点,记作A点,坐标为(xc,ya);将所述起始参考点的下方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行下边缘起始点,记作B点,坐标为(xc,yb);所述粒行上边缘起始点和所述粒行下边缘起始点合称粒行提取的起始点,并且将所述粒行上边缘起始点和所述粒行下边缘起始点之间的纵向距离记作粒行宽度dr;否则,执行步骤B9;
步骤B9:判断所述起始参考点连续上移的距离是否已经达到所述平均距离d1,如果是,将所述起始参考点向所述玉米穗的穗尖方向移动预定横向值个像素的距离,执行所述步骤B2;否则,将所述起始参考点上移预定纵向值个像素的距离,执行所述步骤B2。所述预定横向值一般为10,所述预定纵向值一般为1、2或者5。
步骤C:根据所述起始点从所述第一处理区域内提取首个玉米粒行。
所述步骤C具体包括:
步骤C1:以所述粒行上边缘起始点为起点向右追踪得到粒行右侧上边缘各点。
所述步骤C1进一步包括:
步骤C11:以所述粒行上边缘起始点作为第一个已追踪到的上边缘点;
步骤C12:设前一个已追踪到的上边缘点的坐标为(Xi,Yi),设右边相邻的待追踪的上边缘点的坐标为(Xi+1,Yi+1),并且Xi+1=Xi+1,以点(Xi+1,Yi)为中心从所述第一处理区域中选取第三处理区域,所述第三处理区域的纵向长度为所述粒行宽度的2倍,即2dr;所述第三处理区域的横向长度与所述第二处理区域的横向长度相同,在所述第三处理区域内沿横向作像素灰度值累加,得到第三累计直方图曲线。本步骤C1中i为表示编号的自然数。
步骤C13:对所述第三累计直方图曲线进行平滑处理得到第三平滑曲线,使用移动平均法得到所述第三累计直方图曲线对应的第三区域平均值曲线。
步骤C14:对比所述第三区域平均值曲线,得到所述第三平滑曲线上的凹点,并将距离直线y=Yi最近的所述第三平滑曲线上的凹点的纵坐标值赋值给Yi+1。
步骤C15:判断|Yi+1-Yi|是否大于所述粒行宽度的四分之一,如果是,Yi+1=Yi;否则,保持Yi+1的值不变。
步骤C16:将坐标为(Xi+1,Yi+1)的点作为当前追踪到的上边缘点。
步骤C17:判断Xi+1是否等于所述第一处理区域最右侧的横坐标值xe,如果是,将已经追踪到的各个上边缘点作为粒行右侧上边缘各点;否则,执行所述步骤C12。
步骤C2:以所述粒行上边缘起始点为起点向左追踪得到粒行左侧上边缘各点。
步骤C3:以所述粒行下边缘起始点为起点向右追踪得到粒行右侧下边缘各点。
步骤C4:以所述粒行下边缘起始点为起点向左追踪得到粒行左侧下边缘各点。
所述步骤C2、C3和C4的操作过程与所述步骤C1的操作过程基本相同,在此不再赘述。
步骤C5:根据所述粒行上边缘各点和下边缘各点,从所述第一处理区域内提取首个玉米粒行。
步骤D:旋转所述玉米穗,提取下一个玉米粒行。
所述步骤D具体包括:
步骤D1:以当前玉米粒行的粒行下边缘起始点作为连续提取粒行的参考点,记作点D,坐标为(xc,yd)。
步骤D2:顺时针旋转所述玉米穗,等待所述玉米穗旋转半个粒行所对应的角度后连续采集所述玉米穗的图像。图6是所述半个粒行所对应角度的示意图,如图6所示,半个粒行所对应的角度的计算公式如下:
β=α/2=arcsin(dr/de);
其中,β表示所述半个粒行所对应的角度,α表示1个粒行所对应的角度,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具体包括:
步骤E1:获取首个玉米粒行中间部分上边缘各点的纵坐标数据存于数组row1中,获取当前玉米粒行中间部分上边缘各点的纵坐标数据存于数组row2中。由于粒行两端提取效果相对于中间部分较差,因此本实施例中对于首个粒行和当前粒行,只取x坐标在[xs+0.1dx,xe-0.1dx]范围内的y坐标数据依次存于数组row1和row2中,数组长度为0.8dx+1。
步骤E2:计算所述首个玉米粒行上边缘中间点所在第一预定区域内的各上边缘点的纵坐标的区域平均值ya1,计算所述当前玉米粒行上边缘中间点所在第二预定区域内的各上边缘点的纵坐标的区域平均值ya2,由ya1和ya2得到所述首个玉米粒行和所述当前玉米粒行在果穗图像屏幕中心的相对距离dc=ya2-ya1。本实施例中所述第一预定区域和第二预定区域均为x坐标范围[xsize/2-0.05dx,xsize/2+0.05dx]的对应区域。
步骤E3:将所述数组row2中的纵坐标数据分别减去dc。
步骤E4:根据数组row1和数组row2中数据,计算所述当前玉米粒行与所述首个玉米粒行的上边缘各点对应相同的横坐标时纵坐标的差值的绝对值的累加和,存储至数组sumd中,即sumd[j]= ∑|row2[i]row1[i]|,本步骤E4中,j为当前粒行的自然数序号(首次提取的粒行序号为0,其他连续提取的粒行序号依次加1),i∈[0,0.8dx],表示数组row1和数组row2中对应横坐标的自然数编号。
步骤E5:判断当前玉米粒行是否属于前9个玉米粒行,如果是,认为当前玉米粒行与所述首个玉米粒行不同,执行步骤E6;否则,执行步骤E7;
步骤E6:判断当前玉米粒行是否是第9个玉米粒行,如果是,根据第2个玉米粒行至第9个玉米粒行所对应的差值绝对值的累加和计算得到累加和平均值,记作sum0,执行所述步骤D;否则,记录所述当前玉米粒行对应的差值绝对值的累加和,执行所述步骤D。因为玉米穗的粒行通常大于10行,因此,本实施例以第9行为判断界限。
步骤E7:根据所述当前玉米粒行对应的差值绝对值的累加和与所述累加和平均值,判断所述当前玉米粒行是否是首个玉米粒行,如果是,剔除所述当前玉米粒行,执行步骤F;否则,执行所述步骤D。本步骤中,以2/3sum0作为差值阈值进行判断,如果所述当前玉米粒行对应的差值绝对值的累加和小于2/3sum0,则认为所述当前玉米粒行是首个玉米粒行;反之,认为其不是首个玉米粒行。
步骤F:依次测量各个玉米粒行的玉米粒数,得到所述玉米穗的总籽粒数。所述步骤F具体包括:
步骤F1:对当前玉米粒行的图像在所述第一处理区域内沿纵向做像素灰度值累加,得到第一累计直方图曲线。
步骤F2:对所述第一累计直方图曲线进行平滑处理得到第一平滑曲线,使用移动平均法得到所述第一累计直方图曲线的第一区域平均值曲线。
步骤F3:对比所述第一区域平均值曲线,得到所述第一平滑曲线上的凹点。
步骤F4:根据所述第一处理区域的横向长度和所述第一平滑曲线上的凹点的数量计算得到籽粒的参考宽度。设所述第一平滑曲线上的凹点的数量为nn,则籽粒参考宽度dd=dx/(nn+1)。
步骤F5:根据所述参考宽度,依次判断所述第一平滑曲线上的当前凹点与上一凹点的距离是否小于预定阈值,如果是,剔除所述第一平滑曲线上的当前凹点;否则,保留所述第一平滑曲线上的当前凹点。所述预定阈值一般为
步骤F6:根据所述第一平滑曲线上的剩余的凹点的数量得到当前玉米粒行的籽粒数。当前玉米粒行的籽粒数等于所述第一平滑曲线上的剩余的凹点的数量加1。
步骤F7:对各个玉米粒行依次执行所述步骤F1至F6,得到所述玉米穗的总籽粒数。
为了验证本发明所述方法的效果,我们进行了验证实验,在实验中,共随机选取各种玉米穗12个,使用本发明所述的实验装置和方法,进行穗粒数统计的结果如表1所示。实验中发现,在光照强度一定的情况下,误差主要存在于籽粒稀疏的玉米穗顶端和排列不整齐的根部。实验证明,本发明所述方法可以对玉米穗籽粒进行无损有效的统计,通过对12个不同情况玉米穗的试验,计数准确率达到95%。
表1玉米穗穗粒数测量的实验结果
本发明实施例所述玉米粒在穗计数方法,采用常用的PC摄像头使用机器视觉的方法获得玉米穗图像,通过对图像的处理分析获得玉米穗的总粒数。所述方法无需高成本的计数设备,实施成本低,并且测量玉米穗籽粒数量快速、准确、稳定,检测方法具有灵活性、实时性和精度好等优点。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (9)
1.一种玉米粒在穗计数方法,其特征在于,包括步骤:
A:采集玉米穗的当前灰度图像,对所述当前灰度图像进行处理,得到第一处理区域;
B:从所述第一处理区域中找到粒行提取的起始点;
C:根据所述起始点从所述第一处理区域内提取首个玉米粒行;
D:旋转所述玉米穗,提取下一个玉米粒行;
E:判断当前玉米粒行是否与所述首个玉米粒行相同,如果相同,剔除所述当前玉米粒行,执行步骤F;否则,执行所述步骤D;
F:依次测量各个玉米粒行的玉米粒数,得到所述玉米穗的总籽粒数;
所述步骤B具体包括步骤:
B1:在所述第一处理区域中,选取所述玉米穗的轴线上距离根部预定参考距离处为起始参考点;
B2:以所述起始参考点为中心,从所述第一处理区域中选取第二处理区域;
B3:在所述第二处理区域中沿横向作像素灰度值累加,得到第二累计直方图曲线;
B4:对所述第二累计直方图曲线进行平滑处理得到第二平滑曲线,使用移动平均法得到所述第二累计直方图曲线对应的第二区域平均值曲线;
B5:对比所述第二区域平均值曲线,得到所述第二平滑曲线上的凹点;
B6:根据所述第二处理区域纵向的长度和所述第二平滑曲线上的凹点的数量,计算得到所述第二平滑曲线上的相邻凹点的平均距离;
B7:根据所述平均距离,依次判断所述第二平滑曲线上的当前凹点与上一凹点的距离是否小于预定相邻距离,如果是,剔除所述第二平滑曲线上的当前凹点;否则,保留所述第二平滑曲线上的当前凹点;
B8:判断所述起始参考点的上方和下方是否均至少存在一个剩余的所述第二平滑曲线上的凹点,如果是,将所述起始参考点的上方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行上边缘起始点,将所述起始参考点的下方距离所述起始参考点最近的所述第二平滑曲线上的凹点作为粒行下边缘起始点,所述粒行上边缘起始点和所述粒行下边缘起始点合称粒行提取的起始点,并且将所述粒行上边缘起始点和所述粒行下边缘起始点之间的纵向距离记作粒行宽度;否则,执行步骤B9;
B9:判断所述起始参考点连续上移的距离是否已经达到所述平均距离,如果是,将所述起始参考点向所述玉米穗的穗尖方向移动预定横向值个像素的距离,执行所述步骤B2;否则,将所述起始参考点上移预定纵向值个像素的距离,执行所述步骤B2。
2.如权利要求1所述的方法,其特征在于,所述步骤A具体包括步骤:
A1:采集玉米穗的当前灰度图像,对所述当前灰度图像依次进行二值化处理、去噪处理和补洞处理,得到二值图像;
A2:对所述二值图像进行轮廓追踪处理,得到所述玉米穗的最长轮廓线对应的外接矩形区域;
A3:判断所述玉米穗是否存在秃尖,如果存在,从所述外接矩形区域中去除秃尖区域,并将剩余区域作为第一处理区域;否则,直接将所述外接矩形区域作为第一处理区域。
3.如权利要求1所述的方法,其特征在于,所述步骤C具体包括步骤:
C1:以所述粒行上边缘起始点为起点向右追踪得到粒行右侧上边缘各点;
C2:以所述粒行上边缘起始点为起点向左追踪得到粒行左侧上边缘各点;
C3:以所述粒行下边缘起始点为起点向右追踪得到粒行右侧下边缘各点;
C4:以所述粒行下边缘起始点为起点向左追踪得到粒行左侧下边缘各点;
C5:根据所述粒行上边缘各点和下边缘各点,从所述第一处理区域内提取首个玉米粒行。
4.如权利要求3所述的方法,其特征在于,所述步骤C1进一步包括步骤:
C11:以所述粒行上边缘起始点作为第一个已追踪到的上边缘点;
C12:设前一个已追踪到的上边缘点的坐标为(Xi,Yi),设右边相邻的待追踪的上边缘点的坐标为(Xi+1,Yi+1),并且Xi+1=Xi+1,以点(Xi+1,Yi)为中心从所述第一处理区域中选取第三处理区域,所述第三处理区域的纵向长度为所述粒行宽度的2倍,所述第三处理区域的横向长度与所述第二处理区域的横向长度相同,在所述第三处理区域内沿横向作像素灰度值累加,得到第三累计直方图曲线;i为自然数;
C13:对所述第三累计直方图曲线进行平滑处理得到第三平滑曲线,使用移动平均法得到所述第三累计直方图曲线对应的第三区域平均值曲线;
C14:对比所述第三区域平均值曲线,得到所述第三平滑曲线上的凹点,并将距离直线y=Yi最近的所述第三平滑曲线上的凹点的纵坐标值赋值给Yi+1;
C15:判断|Yi+1-Yi|是否大于所述粒行宽度的四分之一,如果是,Yi+1=Yi;否则,保持Yi+1的值不变;
C16:将坐标为(Xi+1,Yi+1)的点作为当前追踪到的上边缘点;
C17:判断Xi+1是否等于所述第一处理区域最右侧的横坐标值,如果是,将已经追踪到的各个上边缘点作为粒行右侧上边缘各点;否则,执行所述步骤C12。
5.如权利要求4所述的方法,其特征在于,所述步骤D具体包括步骤:
D1:以当前玉米粒行的粒行下边缘起始点作为连续提取粒行的参考点;
D2:顺时针旋转所述玉米穗,等待所述玉米穗旋转半个粒行所对应的角度后连续采集所述玉米穗的图像;
D3:在当前帧图像中以所述参考点为中心选取第四处理区域,在所述第四处理区域内沿横向作像素灰度值累加,得到第四累计直方图曲线;
D4:根据所述第四累计直方图曲线判断相邻粒行的下边缘是否到达所述参考点,如果是,执行步骤D5;否则,采集所述玉米穗的下一帧图像,执行步骤D3;
D5:以所述参考点上移半个粒行位置处的点为中心从所述当前帧图像中选取第五处理区域,从所述第五处理区域中选取新的玉米粒行的粒行上边缘起始点和粒行下边缘起始点;
D6:根据新的玉米粒行的粒行上边缘起始点和粒行下边缘起始点,提取下一个玉米粒行。
6.如权利要求5所述的方法,其特征在于,所述步骤D2中所述半个粒行所对应的角度的计算公式如下:
β=arcsin(dr/de);
其中,β表示所述半个粒行所对应的角度,dr表示所述粒行宽度,de表示所述玉米穗的直径。
7.如权利要求5所述的方法,其特征在于,所述步骤D4中通过判断当前帧图像中所述第四累计直方图曲线在所述参考点处的数值是否小于灰度阈值,以确定所述相邻粒行的下边缘是否到达所述参考点;并且,所述灰度阈值的计算公式如下:
其中,V表示所述灰度阈值,Tmax表示前一帧图像中所述第四累计直方图曲线的最大值,Tmin表示前一帧图像中所述第四累计直方图曲线的最小值。
8.如权利要求5所述的方法,其特征在于,所述步骤E具体包括步骤:
E1:获取首个玉米粒行中间部分上边缘各点的纵坐标数据存于数组row1中,获取当前玉米粒行中间部分上边缘各点的纵坐标数据存于数组row2中;
E2:计算所述首个玉米粒行上边缘中间点所在第一预定区域内的各上边缘点的纵坐标的区域平均值ya1,计算所述当前玉米粒行上边缘中间点所在第二预定区域内的各上边缘点的纵坐标的区域平均值ya2,由ya1和ya2得到所述首个玉米粒行和所述当前玉米粒行在果穗图像屏幕中心的相对距离dc=ya2-ya1;
E3:将所述数组row2中的纵坐标数据分别减去dc;
E4:根据数组row1和数组row2中数据,计算所述当前玉米粒行与所述首个玉米粒行的上边缘各点对应相同的横坐标时纵坐标的差值的绝对值的累加和;
E5:判断当前玉米粒行是否属于前9个玉米粒行,如果是,认为当前玉米粒行与所述首个玉米粒行不同,执行步骤E6;否则,执行步骤E7;
E6:判断当前玉米粒行是否是第9个玉米粒行,如果是,根据第2个玉米粒行至第9个玉米粒行所对应的差值绝对值的累加和计算得到累加和平均值,执行所述步骤D;否则,记录所述当前玉米粒行对应的差值绝对值的累加和,执行所述步骤D;
E7:根据所述当前玉米粒行对应的差值绝对值的累加和与所述累加和平均值,判断所述当前玉米粒行是否是首个玉米粒行,如果是,剔除所述当前玉米粒行,执行步骤F;否则,执行所述步骤D。
9.如权利要求8所述的方法,其特征在于,所述步骤F具体包括步骤:
F1:对当前玉米粒行的图像在所述第一处理区域内沿纵向做像素灰度值累加,得到第一累计直方图曲线;
F2:对所述第一累计直方图曲线进行平滑处理得到第一平滑曲线,使用移动平均法得到所述第一累计直方图曲线的第一区域平均值曲线;
F3:对比所述第一区域平均值曲线,得到所述第一平滑曲线上的凹点;
F4:根据所述第一处理区域的横向长度和所述第一平滑曲线上的凹点的数量计算得到籽粒的参考宽度;
F5:根据所述参考宽度,依次判断所述第一平滑曲线上的当前凹点与上一凹点的距离是否小于预定阈值,如果是,剔除所述第一平滑曲线上的当前凹点;否则,保留所述第一平滑曲线上的当前凹点;
F6:根据所述第一平滑曲线上的剩余的凹点的数量得到当前玉米粒行的籽粒数;
F7:对各个玉米粒行依次执行所述步骤F1至F6,得到所述玉米穗的总籽粒数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210115497.2A CN102750584B (zh) | 2012-04-18 | 2012-04-18 | 玉米粒在穗计数方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210115497.2A CN102750584B (zh) | 2012-04-18 | 2012-04-18 | 玉米粒在穗计数方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102750584A CN102750584A (zh) | 2012-10-24 |
CN102750584B true CN102750584B (zh) | 2014-10-08 |
Family
ID=47030742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210115497.2A Expired - Fee Related CN102750584B (zh) | 2012-04-18 | 2012-04-18 | 玉米粒在穗计数方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102750584B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982524B (zh) * | 2012-12-25 | 2015-03-25 | 北京农业信息技术研究中心 | 玉米果穗有序图像的拼接方法 |
CN103500458A (zh) * | 2013-09-06 | 2014-01-08 | 李静 | 一种玉米穗行数自动检测方法 |
CN103810522B (zh) * | 2014-01-08 | 2017-02-08 | 中国农业大学 | 一种玉米果穗籽粒计数方法和装置 |
CN106296644A (zh) * | 2015-06-10 | 2017-01-04 | 浙江托普云农科技股份有限公司 | 一种基于图像处理的玉米籽粒考种分析方法 |
CN105139405B (zh) * | 2015-09-07 | 2018-06-05 | 中国人民解放军理工大学 | 一种重叠碎米与整米的视觉分离检测方法 |
CN106339752A (zh) * | 2016-09-21 | 2017-01-18 | 浙江省海洋水产研究所 | 一种鱼苗计数装置及计数方法 |
CN109993115B (zh) * | 2019-03-29 | 2021-09-10 | 京东方科技集团股份有限公司 | 图像处理方法、装置及可穿戴设备 |
CN112541383B (zh) * | 2020-06-12 | 2021-12-28 | 广州极飞科技股份有限公司 | 杂草区域的识别方法和装置 |
CN113139934B (zh) * | 2021-03-26 | 2024-04-30 | 上海师范大学 | 一种水稻谷粒计数方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101881598A (zh) * | 2010-06-28 | 2010-11-10 | 北京农业智能装备技术研究中心 | 基于机器视觉的玉米果穗性状参数自动检测装置 |
CN202160400U (zh) * | 2011-06-17 | 2012-03-14 | 北京农业信息技术研究中心 | 基于立体视觉的玉米果穗外在形态记录与测量装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090093365A1 (en) * | 2007-10-08 | 2009-04-09 | Walsh John F | Multilayer seed coating |
-
2012
- 2012-04-18 CN CN201210115497.2A patent/CN102750584B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101881598A (zh) * | 2010-06-28 | 2010-11-10 | 北京农业智能装备技术研究中心 | 基于机器视觉的玉米果穗性状参数自动检测装置 |
CN202160400U (zh) * | 2011-06-17 | 2012-03-14 | 北京农业信息技术研究中心 | 基于立体视觉的玉米果穗外在形态记录与测量装置 |
Non-Patent Citations (2)
Title |
---|
计数玉米穗行数的机器视觉研究;韩仲志等;《玉米科学》;20100430;第18卷(第2期);第146-148页 * |
韩仲志等.计数玉米穗行数的机器视觉研究.《玉米科学》.2010,第18卷(第2期),第146-148页. |
Also Published As
Publication number | Publication date |
---|---|
CN102750584A (zh) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102750584B (zh) | 玉米粒在穗计数方法 | |
CN101226108B (zh) | 一种雾滴分布均匀度的检测方法 | |
Yu et al. | Automatic image-based detection technology for two critical growth stages of maize: Emergence and three-leaf stage | |
CN103512494B (zh) | 一种植物果实微尺寸变化视觉检测系统及方法 | |
CN109447945B (zh) | 基于机器视觉和图形处理的小麦基本苗快速计数方法 | |
CN103190224B (zh) | 基于计算机视觉技术的玉米果穗考种方法、系统和装置 | |
CN109345554A (zh) | 一种基于rgb-d相机的粘连蘑菇视觉原位测量方法 | |
CN103914836B (zh) | 基于机器视觉的农田机械导航线提取算法 | |
CN111462058B (zh) | 一种水稻有效穗快速检测方法 | |
Ji et al. | In-field automatic detection of maize tassels using computer vision | |
CN107392929A (zh) | 一种基于人眼视觉模型的智能化目标检测及尺寸测量方法 | |
CN104008551A (zh) | 一种基于可见光图像的柑橘黄龙病检测方法 | |
CN108805924A (zh) | 一种百合花采摘点定位方法及系统 | |
CN116977960A (zh) | 一种基于实例分割的水稻秧苗行检测方法 | |
CN115687850A (zh) | 一种农田的灌溉需水量计算方法及装置 | |
CN102640622B (zh) | 采棉机导航信息图像检测方法及系统 | |
CN102288776B (zh) | 玉米植株生长速率测量方法 | |
CN103593840A (zh) | 一种拟南芥表型检测方法 | |
CN103591887A (zh) | 一种拟南芥区域表型的检测方法 | |
CN111932551B (zh) | 一种水稻插秧机的漏插率检测方法 | |
CN104050676B (zh) | 一种基于Logistic回归模型的逆光图像检测方法及装置 | |
CN111369497A (zh) | 一种行走式树上果实连续计数方法及装置 | |
CN111161264A (zh) | 一种对含有缺陷的tft电路图像的分割方法 | |
CN115358991A (zh) | 一种秧苗的漏秧数量和漏秧位置的识别方法及系统 | |
CN111886982B (zh) | 一种旱地栽植作业质量实时检测系统的检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141008 Termination date: 20160418 |