一种基于玉米穗凸性特征的行数自动检测算法
【技术领域】
[0001] 本发明设及图像信息处理技术领域,特别是设及一种基于玉米穗凸性特征的行数 自动检测算法,便于实现玉米室内考种时穗行数的统计,并提高检测速度和精度。
【背景技术】
[0002] 玉米是粮食、饲料、工业原料兼用型作物。玉米生产在国家粮食生产和粮食安全中 占有极重要的战略地位。研究证明,玉米优良种的推广使玉米增产40%。种子质量直接关系 到玉米产量高低及玉米质量和品质的优劣,而推广优良的杂交种需要大量的优质种子。
[0003] 玉米穗巧粒行数(穗行数)是穗部重要农艺性状之一。不同品种的玉米穗行数有 较大差别,生长条件也会影响穗行数,在玉米育种、栽培及新品种DUS测试等科研中准确 计数穗行数非常重要。玉米穗行数的传统测定靠人工计数,存在人工计数方法固有的缺 陷--易于疲劳、误差大、效率低。
[0004] 在现有的基于机器视觉的玉米穗行数自动检测过程中,利用先求出玉米穗横断面 的质屯、坐标;再计算出的玉米穗外轮廓边缘到质屯、的角度和半径,对角度从小到大进行排 序,同时对半径进行归一化处理,得到半径关于角度的函数,绘制出角度---半径图;统计 角度---半径变化曲线图中半径的极大值或极小值的个数即玉米穗行数。该种方法计算量 大且易有误差。
【发明内容】
[0005] 为了克服上述现有技术的不足,本发明提供了一种基于玉米穗凸性特征的行数自 动检测算法。本发明所采用的技术方案是;第一步:玉米穗横断面照片的获取。将玉米穗横 断面放在黑色背景上,在它上方加上环形光源,摄像机在环形光源正中、玉米穗横断面正上 进行拍摄获取原图图像n。
[0006] 第二步;对图像n进行图像分割。用边缘检测函数和内部区域填充法,检测出清 晰地玉米穗图像边缘,边缘及内部用白色来表示,其余部分用黑色来表示,得到玉米穗横断 面特征图像f2。
[0007] 第=步;对图像f2进行腐蚀。使用一个半径为100圆形结构元素去扫描图像中的 每一个像素,用结构元素与其覆盖的二值图像做"与"操作,从而腐蚀图像f2中前景色区域 的边缘,使得前景图像区域变小,背景区域被放大,具有收缩图像的作用。腐蚀之后,图像边 界向内收缩,得到玉米穗横断面腐蚀图像巧。
[0008] 第四步:图像巧所示玉米穗横断面腐蚀图像中存在明显的凹陷,使用该图像的凸 性特征,对该图求凸形。求玉米穗横断面凸形图像属于二维平面的凸包问题,本算法采用二 维如ick化11算法获取图像巧中不等于黑色的像素点集的凸包,落在凸包及其内部的像 素点赋值为白色,使凸包边界和内部显示白色,其余点的值保持不变,得到玉米穗横断面凸 形图像f4。
[0009] 第五步:使用图像f4减去图像巧,得到两图的差异部分,即玉米穗横断面原始图 像中的巧粒间隙图像巧。
[0010] 第六步;腐蚀后计数。采用第=步中的腐蚀算法,对图像巧进行腐蚀运算,W去除 细小噪声,避免图像各部分的黏连,得到巧粒间隙腐蚀图像f6 ;采用8联通邻域法方法,对 图像f6进行连通域处理,得到图像巧,并同时统计像素点的值不等于0的联通单元的个数; 统计得到的巧中联通单元的个数即是玉米穗巧粒行数,并在检测系统中进行显示。
[0011] 与现有技术相比,基于玉米穗凸性特征的行数自动检测算法主要有W下优点: (1)计算量小,执行速度快;(2)正确率高,可W准确地对玉米穗行数进行检测。根据到玉米 截面特殊的外形,利用凸性的图像特征,设计使用本算法来进行处理,可提高玉米穗行数自 动检测的速度和准确度。
【附图说明】
[0012] 图1为玉米穗行数自动检测算法流程图; 图2为玉米穗横断面原始图像; 图3玉米穗横断面轮廓特征图像; 图4为玉米穗横断面腐蚀图像; 图5为玉米穗横断面凸形图像; 图6为巧粒间隙图像; 图7为巧粒间隙腐蚀图像; 图8为巧粒间隙腐蚀图像连通域处理图。
【具体实施方式】
[0013] 下面结合附图对本发明进一步说明。
[0014] 参阅附图1,本发明所述的玉米穗行数自动检测算法是在环形光源光照条件下、采 用工业相机采集到的黑色背景上玉米穗横断面原始图像后,对原始图像进行灰度转换、图 像压缩、增强对比度等图像预处理依据,依据图像的轮廓特征对预处理之后图像进行合理 阔值、滤波去除噪声,获得玉米穗截面的轮廓特征图像,对玉米轮廓特征图像进行腐蚀、并 求出其凸形图像,使凸形图像减去玉米穗横断面腐蚀图像得到巧粒间隙图像,对经过进一 步腐蚀和连通域处理的巧粒间隙图像进行计数,得到最终的计数结果即是玉米穗的行数。
[0015] 更具体地说,整个算法的实现包含下列内容: 1、图像分割;本算法属于图像的预处理,主要包括原始图像的获取、图像边缘阀值分割 和滤波去噪=个步骤,处理效果如附图2、附图3所示。
[0016] (1)阔值分割:采用阔值分割法将图像n分割成背景和玉米穗图像主体两部分, 而阔值t的选取是用最大类间方差法求解。
[0017] (2)内部图像填充述过图像分割,已经把图像分割成很多个区域,现用8联通邻 域法进行玉米穗截面轮廓内部填充,得到玉米轮廓及内部填充特征图像f2。
[0018] 2、图像腐蚀:本算法对玉米分割图像f2进行腐蚀,腐蚀图像中前景色区域的边 缘,使得前景图像区域变小,背景区域被放大,具有收缩图像的作用。腐蚀的计算方法为: (1)定义结构元素。由数值为1或0组成的矩阵,在每个像素位置与二值图像对应的区 域进行特定的逻辑运算。运算结果为输出图像相应的像素。运算效果取决于结构元素的大 小内容w及逻辑运算的性质。由于玉米穗截面轮廓为弧形,所w本算法使用一个圆形的结 构元素对图像进行腐蚀。
[0019] (2)腐蚀算法。使用一个半径为100圆形结构元素去扫描图像中的每一个像素, 用结构元素与其覆盖的二值图像做"与"操作,如果都为1,该图像的该像素为1,否则为0。 腐蚀之后,图像边界向内收缩,得到玉米穗横断面腐蚀图像巧,如附图4所示。
[0020] 3、获取凸形。图像巧所示玉米穗横断面腐蚀图像中存在明显的凹陷,使用该图像 的凸性特征,对该图求凸形,即连接指图像内部任意两点的直线均落在图像内部
。求玉米穗 横断面凸形图像属于二维平面的凸包问题,具体算法为: (1)用"凸包算法"变换玉米穗横断面形状。凸包的定义为:平面的一个子集S被称为 是"凸"的,当且进当对于任意两点P、qGS,线段都完全属于S。凸包问题可W描述为: 给定一个点集P,求最小点集S,使得S构成的形状能包含P。本算法采用二维如ick化11 算法,该算法继承了快速排序分治的思想,是一个递归过程算法。该算法具有极小的常数、 实现方便,在凸包上的点很密集时仍然适用,在凸包上点集随机分布时效率也很高。具体步 骤如下: ①在玉米穗横断面腐蚀图像不等于0的像素点集S中选取2个极点nl和n2,该两个 极点必然在凸包上。
[0021] ②使用①中选取的两个极点nl、n2生成1条直线L采用遍历法判断点集S中每 个点落在直线L哪一侧,从而将点集S分成2个子集S1和S2。
[0022] f在直线L的一侧点集S1中选取离直线距离最远的点P,分别连接P和nl、p和 n2,生成新的2条直线L1和L2。点p、nl和n2组成一个S角形,S角形区域内的像素点不 可能为凸包上的点,在后续计算过程中可舍去。
[0023] ④对极点P和nl、直线L1重复步骤②和⑨,对极点P和n2、直线L2重复步骤② 和⑨,直至遍历子集S1中所有点。
[0024] ⑥对直线L的另一侧点集S2做类似步骤⑨和④的工作。
[00巧]⑧每计算取得的最远点为最终凸包的顶点,任两个最远点之间的连线为凸包的 边。
[0026] ⑦理论上该算法的复杂度为0化logN),其中,N为玉米穗横断面腐蚀图像中不等 于0的像素点数,K为凸包的顶点数。
[0027] (2)将附图4中落在凸包及其内部的像素点赋为白色,其余点的值保持不变,得到 玉米穗横断面凸形图像f4,如附图5所示。
[0028] 4、计算巧粒间隙图像。使用图像f4减去图像巧,得到两图的差异部分,也就是玉 米穗横断面原始图像中的巧粒间隙图像巧,如附图6所示。
[0029]5、腐蚀后计数。具体过程如下: (1)继续采用腐蚀算法,设置圆形结构元素的半径为5,对附图5进行腐蚀运算,W去除 细小噪声,避免图像各部分的黏连,得到巧粒间隙腐蚀图像f6,见附图7。
[0030] (2)采用步骤1 (3)中的方法,对图像巧进行连通域处理、并同时计数: ① 采用E(i)标记第i个不连通的玉米巧粒区域单元; ② 当检测到的图像点是0时就对该点赋值为0,当检测到的是255且其周围8联通区 域内有数值不等于0时,令i=i+l,并对该点赋值n(i); ③重复步骤②,且当j=江1时,赋值11(0古单0。
[0031] ④检测遍历所有像素点,结束,判断B0料!(i)单0,否则i=i-1,重复⑨。
[0032] ⑥该样就将將像素有相连的区域合并成一个单元,相邻单元的颜色不同,即巧粒 间隙腐蚀图像连通域处理图巧,如附图8所示。且计算结束时i的值即是玉米穗巧粒行数, 输出i作为行数统计结果。
[0033] 采用上述的检测步骤1至5即可实现玉米穗行数的自动检测,下面表1给出在实 验室的统计数据: 表1实验室统计结果
本发明与现有技术相比,具有实时、高效、客观、准确、高效和无损伤等显著优点。
【主权项】
1. 一种基于玉米穗凸性特征的玉米穗行数自动检测算法,有如下步骤: 第一步:玉米穗横断面照片的获取 将玉米穗横断面放在黑色背景上,在它上方加上环形光源,摄像机在环形光源正中、玉 米穗横断面正上进行拍摄获取原图图像n; 其特征在于, 第二步:对图像n进行图像分割 将图像n转换为灰度图像,以减少处理过程中的数据量;之后用边缘检测函数和内部 区域填充法,检测出清晰地玉米穗图像边缘,边缘及内部用白色来表示,其余部分用黑色来 表示,得到玉米穗横断面特征图像f2 ; 第三步:对图像f2进行腐蚀 使用一个半径为100圆形结构元素去扫描图像中的每一个像素,用结构元素与其覆盖 的二值图像做"与"操作,从而腐蚀图像f2中前景色区域的边缘,使得前景图像区域变小, 背景区域被放大,具有收缩图像的作用;腐蚀之后,图像边界向内收缩,得到玉米穗横断面 腐蚀图像f3 ; 第四步:图像f3所示玉米穗横断面腐蚀图像中存在明显的凹陷,使用该图像的凸性 特征,对该图求凸形;求玉米穗横断面凸形图像属于二维平面的凸包问题,本算法采用二维 Quick Hull算法获取图像f3中不等于黑色的像素点集的凸包,落在凸包及其内部的像素 点赋值为白色,使凸包边界和内部显示白色,其余点的值保持不变,得到玉米穗横断面凸形 图像f4 ; 第五步:使用图像f4减去图像f3,得到两图的差异部分,即玉米穗横断面原始图像中 的籽粒间隙图像f5; 第六步:腐蚀后计数 采用第三步中的腐蚀算法,对图像f5进行腐蚀运算,以去除细小噪声,避免图像各部 分的黏连,得到籽粒间隙腐蚀图像f6 ;采用8联通邻域法方法,对图像f6进行连通域处理, 得到图像f7,并同时统计像素点的值不等于0的联通单元的个数;统计得到的f7中联通单 元的个数即是玉米穗籽粒行数,并在检测系统中进行显示。
【专利摘要】一种利用玉米截面特殊的凸性图像特征、基于机器视觉的玉米穗行数自动检测方法,属图像信息处理技术领域,主要用于玉米室内考种时穗行数的自动检测。其实现方法是:第一步:玉米穗横断面照片的获取;第二步:对图像f1进行图像分割;第三步:对图像f2进行腐蚀;第四步:图像f3所示玉米穗横断面腐蚀图像中存在明显的凹陷,使用该图像的凸性特征,对该图求凸形;第五步:使用图像f4减去图像f3,得到两图的差异部分,即玉米穗横断面原始图像中的籽粒间隙图像f5;第六步:腐蚀后计数,得到最终的计数结果即是玉米穗的行数。本发明旨在解决玉米穗行数中传统人工计数易于疲劳、准确率差、效率低的固有缺陷,以提高现有自动检测技术的速度和准确度。
【IPC分类】G06K9/00
【公开号】CN104881652
【申请号】CN201510291734
【发明人】李静, 吴欣慧, 李立, 宋俊乔, 申庆超, 赵晶, 曹志, 赵鹏永
【申请人】安阳工学院
【公开日】2015年9月2日
【申请日】2015年6月1日
转载请注明原文地址:https://www.famiwei.com/read-8138424.html