微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于机器视觉的玉米穗行数自动检测算法设计

基于机器视觉的玉米穗行数自动检测算法设计

时间:05-27 来源:电子产品世界 点击:

后,图像变成二值图像,背景为0,图像边缘为1,因此在0和1的交接处形成边缘。效果如图6所示。

3.2 计算图像特征

1.确定玉米穗的圆心

要想正确地从分割后的图像中提取玉米穗边缘行数特征,必须要让计算机识别出横断面图像边缘的凸点和凹点。为了实现以上目的,首先确定玉米穗图片的圆心,本文选择用质心法[13]计算玉米穗的圆心,质心的计算方法为:

其中,分别为所求的质心, ,分别是玉米穗边缘的坐标,n是边缘点像素的个数。

2. 计算角度和半径

从边缘检测图像上可以清楚的看到边缘点像素坐标到圆心的距离不同决定着此边缘像素所处玉米穗的位置,比如半径处于极大值点说明此处为玉米粒的最顶端,半径处于极小值点说明此处像素处于玉米行的交接处,所以我们只需要统计出玉米边缘到圆心距离的极小值点的个数,就相当于统计出了玉米行数。两点间距离公式[14]:

4 玉米穗行数特征统计

4.1 绘制半径-角度曲线图

按照遍历的顺序,在上述计算边缘图像的圆心到边缘的角度、半径时,我们发现程序结果中,角度的初始值并不为0。为了便于最终行数特征提取,对角度从小到大进行排序,同时对半径进行归一化处理,得到半径关于角度的函数,绘制出角度—半径曲线图。见图7(a)所示。

4.2 最小值滤波

由于玉米穗外轮廓并非规则、标准的圆形,对于角度—半径图,如果直接计算其极大值或极小值点的个数,将可能会出现大的误差,用一维最小值滤波器对图像进行滤波,能有效减少误差,且有效消除图片大小对结果的影响。经过大量调研,发现一个玉米穗行数不会超过30,这样每一行在半径序列里所占长度一定会大于半径总长度/30。利用半径总长度/30为一维最小值滤波器对角度—半径图进行依次滤波,得到精确地玉米穗半径最小值截平滤波图。

4.3 行数统计

从图7最小值滤波效果图中可以看出,被截平的线段的个数即玉米穗行数,因此,直接统计截平线段个数即是玉米穗行数。

5 结论

本文给出了基于机器视觉的玉米穗室内考种时行数的自动检测算法,表1给出在实验室的统计数据[15]。

本算法与现有技术相比,设计思路清晰、层次分明,提高了玉米穗行数检测的运行效率和稳定性,经实验验证,系统运行准确、稳定,可以满足玉米穗室内考种时行数自动检测技术的要求,拥有实时、高效、客观、准确和无损伤等显著优点,具有很好的推广价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top