一种番茄植株边缘排序算法制造技术

技术编号:20178631 阅读:20 留言:0更新日期:2019-01-23 00:57
本发明专利技术公开了一种番茄植株边缘排序算法。首先对采集的番茄植株彩色图像进行图像分割;直接在二值图像中提取出番茄植株连续边缘;对所提取的的番茄植株边缘进行去噪;然后遍历番茄植株边缘图像,将未排序边缘点作为当前边缘点;将当前已排序边缘从当前边缘点的8邻域按序延伸,同时识别出交叉点;当当前边缘在当前边缘点8邻域内无法继续延伸时,新增一从同一起点至当前交叉点的边缘,并从交叉点8邻域内继续按序延伸;最后求同一起点边缘的最长边缘,保存最长边缘和其余边缘;应用本发明专利技术可实现具有复杂边缘点邻接关系和较多噪声点的长番茄植株茎秆边缘的实时排序、去噪,为基于图像边缘分析的番茄植株组成器官识别提供连续和完整的已排序边缘。

An Arithmetic for Sorting the Edge of Tomato Plants

The invention discloses a tomato plant edge sorting algorithm. Firstly, tomato plant color image is segmented; tomato plant continuous edge is extracted directly from binary image; tomato plant edge is de-noised; then, tomato plant edge image is traversed and unordered edge points are taken as current edge points; current ordered edges are extended from eight neighborhoods of current edge points in order, and the intersection points are identified at the same time. When the current edge cannot continue to extend within the current edge point 8 neighborhood, a new edge is added from the same starting point to the current intersection point, and continues to extend sequentially from the intersection point 8 neighborhood; finally, the longest edge of the same starting point edge is obtained, and the longest edge and the remaining edges are preserved; the long tomato stem with complex edge point adjacency relationship and more noise points can be realized by applying the present invention. Real-time sorting and denoising of culm edges provide continuous and complete sorted edges for tomato plant organ recognition based on image edge analysis.

【技术实现步骤摘要】
一种番茄植株边缘排序算法
本专利技术涉及一种番茄植株边缘排序算法。
技术介绍
作为实现番茄生产自动化的一种主要手段,番茄生产机器人能够较好地解决当前番茄生产中劳动力资源紧缺,劳动力成本高的问题。视觉系统作为番茄生产机器人的一个重要组成部分,其主要功能是实现番茄植株各组成器官的识别和三维定位。通过图像的边缘分析实现番茄植株各组成器官的识别,如番茄、茎秆、叶子等,是当前基于图像的番茄植株及其他果蔬植株组成器官识别的常用方法。在进行植株组成器官边缘分析前,实现植株边缘排序是前提。如进行番茄边缘曲率分析以实现成簇番茄识别前,需首先对番茄边缘进行排序。同样,进行番茄植株边缘分析以实现番茄茎秆、叶子识别前,同样需要对番茄植株边缘进行分析,进而基于边缘特征实现番茄茎秆、叶子的识别。因此,番茄植株边缘排序对实现番茄植株茎秆、叶子的识别,进而基于番茄生产机器人实现番茄生产自动化,具有非常重要的应用价值。由于番茄枝叶近色,且茎秆和叶子相互重叠,从而造成图像中所提取的番茄植株边缘相互交叉、联通。另外,由于光照条件的影响,造成所提取的番茄植株边缘存在较多的噪声,使得番茄植株边缘间的联通,边缘点间的邻接均非常复杂。当前的4邻域、8邻域等边缘排序算法无法适应该类情况下的番茄植株边缘排序,会造成属于同一组成器官的边缘被排序成多段,在影响已排序边缘的完整型和连续性,进而影响后续番茄植株组成器官识别成功率的同时,也影响了排序算法的实时性。现有的番茄边缘排序算法,只适用于番茄这类边缘较短、边缘点间邻接关系简单、边缘上噪声较少的情况,对边缘点邻接关系复杂、边缘较长且存在较多边缘噪声的这类番茄植株边缘无法运行,因此并不适用。基于番茄植株边缘的复杂性,为实现番茄植株边缘排序,非常需要一种实时的番茄植株边缘排序算法。本专利技术可实现番茄植株边缘排序,并从中提取出最长边缘和其他边缘,同时也可实现番茄植株边缘的去噪,进而可为实现番茄植株茎秆、叶子的识别,提供连续的已排序番茄植株边缘,降低边缘排序破坏番茄植株组成器官边缘完整性的几率,提高基于边缘分析的番茄植株组成器官识别成功率。本专利技术还有助于改善番茄植株边缘排序算法的实时性。
技术实现思路
本专利技术的目的在于提供一种实时的番茄植株边缘排序算法,以实现图像番茄植株边缘点按位置关系排序,提取出番茄植株同一起始边缘点的最长边缘以及其他边缘,同时也可实现番茄植株边缘的去噪,为实现基于番茄植株边缘分析的番茄植株组成器官识别提供已排序的连续和完整的边缘。本专利技术采用的技术方案是:本专利技术包括如下步骤:①图像分割:对番茄植株彩色图像C进行图像分割,获得番茄植株二值图像B;采用基于绿红色差特征量的阈值图像分割算法,如式(1)所示:式中:B(x,y)—二值图像B中坐标为(x,y)像素的像素值;Tb—图像分割阈值;cn—归一化绿红色差特征量,如式(2)所示:式中:min-表示求最小值;max-表示求最大值;cc—绿红色差特征量,如式(3)所示:式中:RGB—彩色图像的三个颜色分量;②连续边缘提取:在图像分割后的二值图像B中,进行番茄植株连续边缘提取,获得边缘图像E,如式(4)所示:式中:Eo(x,y)—边缘图像Eo中坐标为(x,y)像素的像素值;Eo(x+1,y)—边缘图像Eo中坐标为(x+1,y)像素的像素值;Eo(x,y+1)—边缘图像Eo中坐标为(x,y+1)像素的像素值;B(x+1,y)—二值图像B中坐标为(x+1,y)像素的像素值;B(x,y+1)—二值图像B中坐标为(x,y+1)像素的像素值;③边缘去噪:去除Eo中长度小于阈值Tl的短边缘,获得边缘图像Es;④边缘排序:对边缘图像Es中各边缘的边缘点按其在图像坐标系中的位置先后关系分别进行排序,包含如下步骤:步骤4.1:存储已排序边缘的变量、数组定义和初始化;定义已排序边缘数变量EN,初始化为0;定义存储已排序边缘点数的一维数组EPN,并将其所有元素均初始化为0;定义存储已排序边缘点图像纵横坐标y、x的二维数组EPY、EPX,第一维表示该边缘点所在边缘序号,第二维表示该边缘点在所在已排序边缘所有边缘点中的序号;定义标识边缘点是否为已排序边缘点的二维数组EdgPoF,第一维表示边缘点在图像坐标系中的纵坐标,第二维表示边缘点在图像坐标系中的横坐标,将其所有元素均初始化为0;进入步骤4.2;步骤4.2:进行同一起点边缘簇中边缘的排序;存储同一起点边缘簇所需变量和数组的定义和初始化;定义同一起点边缘簇中边缘数变量EdgeNo,初始化为0;定义存储边缘点数的一维数组EdgPoNo,并将其所有元素均初始化为0;定义存储边缘点图像纵横坐标y、x的二维数组EdgPoY、EdgPoX,第一维表示该边缘点所在边缘的序号,第二维表示该边缘点在所在边缘所有边缘点中的序号;进入步骤4.3;步骤4.3:从上往下,从左往右逐点扫描边缘图像ES,判断当前像素(i,j)是否为未排序边缘点,即判断ES(i,j)及EdgPoF(i,j)的值;若是,即ES(i,j)值为1、EdgPoF(i,j)值为0,则新建一条以该边缘点(i,j)为起点的边缘,即将边缘数EdgeNo置为1,将第EdgeNo号边缘的边缘点数EdgPoNo(EdgeNo)置为1,保存第EdgeNo号边缘中第1个边缘点的图像纵横坐标,即EdgPoY(EdgeNo,1)=i,EdgPoX(EdgeNo,1)=j;将该边缘点(i,j)标识为已排序边缘点,即设置EdgPoF(i,j)=1;使用变量StartY、StartX分别保存该起点的图像纵横坐标,即设置StartY=i,StartX=j;将该边缘作为当前边缘EdgeNo;将该边缘点(i,j)作为当前边缘点(r,c),即r=i,c=j,进入步骤4.4;否则,跳转至步骤4.9;步骤4.4:存储分叉点及相应公共边缘的变量和数组的定义及初始化;定义分叉点数变量CroPoNo,并初始化为0;定义存储分叉点图像纵横坐标的一维数组CroPoY及CroPoX;定义存储第CroPoNo个分叉点对应的公共边缘CroPoNo的边缘点图像纵横坐标的二维数组ShaEdgPoY、ShaEdgPoX,其中第一维表示公共边缘序号,第二维表示边缘点序号;进入步骤4.5;步骤4.5:分叉点及公共边缘的识别:基于当前边缘点8邻域内边缘点个数及其位置关系实现当前边缘点是否为分叉点的识别;若当前边缘点8邻域内边缘点个数为两个且这两个边缘点为非相邻边缘点或边缘点个数大于2个(其中的两个边缘点间距一定大于1),则当前边缘点为交叉点,当前边缘点及其前已排序边缘为公共边缘,使用CroPoNo保存分叉点数即公共边缘数,使用CroPoY及CroPoX数组分别保存分叉点图像纵横坐标,并将当前边缘点及其前已排序边缘作为该分叉点对应的公共边缘,使用数组ShaEdgPoY、ShaEdgPoX按序保存该公共边缘的边缘点图像纵横坐标;步骤4.6:判断当前边缘点(r,c)的8邻域内是否存在未排序边缘点(p,q),即判断是否存在ES(p,q)为1且EdgPoF(p,q)同时为0的像素;若是,当前边缘EdgeNo的边缘点数EdgPoNo(EdgeNo)自增1,将该边缘点(p,q)按序存入当前边缘EdgeNo,即EdgPoY(EdgeNo,EdgPoNo(Edg本文档来自技高网
...

【技术保护点】
1.一种番茄植株边缘排序算法,其特征在于,包括如下步骤:①图像分割:对番茄植株彩色图像C进行图像分割,获得番茄植株二值图像B;采用基于绿红色差特征量的阈值图像分割算法,如式(1)所示:

【技术特征摘要】
1.一种番茄植株边缘排序算法,其特征在于,包括如下步骤:①图像分割:对番茄植株彩色图像C进行图像分割,获得番茄植株二值图像B;采用基于绿红色差特征量的阈值图像分割算法,如式(1)所示:式中:B(x,y)—二值图像B中坐标为(x,y)像素的像素值;Tb—图像分割阈值;cn—归一化绿红色差特征量,如式(2)所示:式中:min-表示求最小值;max-表示求最大值;cc—绿红色差特征量,如式(3)所示:式中:RGB—彩色图像的三个颜色分量;②连续边缘提取:在图像分割后的二值图像B中,进行番茄植株连续边缘提取,获得边缘图像E,如式(4)所示:式中:Eo(x,y)—边缘图像Eo中坐标为(x,y)像素的像素值;Eo(x+1,y)—边缘图像Eo中坐标为(x+1,y)像素的像素值;Eo(x,y+1)—边缘图像Eo中坐标为(x,y+1)像素的像素值;B(x+1,y)—二值图像B中坐标为(x+1,y)像素的像素值;B(x,y+1)—二值图像B中坐标为(x,y+1)像素的像素值;③边缘去噪:去除Eo中长度小于阈值Tl的短边缘,获得边缘图像Es;④边缘排序:对边缘图像Es中各边缘的边缘点按其在图像坐标系中的位置先后关系分别进行排序,包含如下步骤:步骤4.1:存储已排序边缘的变量、数组定义和初始化;定义已排序边缘数变量EN,初始化为0;定义存储已排序边缘点数的一维数组EPN,并将其所有元素均初始化为0;定义存储已排序边缘点图像纵横坐标y、x的二维数组EPY、EPX,第一维表示该边缘点所在边缘序号,第二维表示该边缘点在所在已排序边缘所有边缘点中的序号;定义标识边缘点是否为已排序边缘点的二维数组EdgPoF,第一维表示边缘点在图像坐标系中的纵坐标,第二维表示边缘点在图像坐标系中的横坐标,将其所有元素均初始化为0;进入步骤4.2;步骤4.2:进行同一起点边缘簇中边缘的排序;存储同一起点边缘簇所需变量和数组的定义和初始化;定义同一起点边缘簇中边缘数变量EdgeNo,初始化为0;定义存储边缘点数的一维数组EdgPoNo,并将其所有元素均初始化为0;定义存储边缘点图像纵横坐标y、x的二维数组EdgPoY、EdgPoX,第一维表示该边缘点所在边缘的序号,第二维表示该边缘点在所在边缘所有边缘点中的序号;进入步骤4.3;步骤4.3:从上往下,从左往右逐点扫描边缘图像ES,判断当前像素(i,j)是否为未排序边缘点,即判断ES(i,j)及EdgPoF(i,j)的值;若是,即ES(i,j)值为1、EdgPoF(i,j)值为0,则新建一条以该边缘点(i,j)为起点的边缘,即将边缘数EdgeNo置为1,将第EdgeNo号边缘的边缘点数EdgPoNo(EdgeNo)置为1,保存第EdgeNo号边缘中第1个边缘点的图像纵横坐标,即EdgPoY(EdgeNo,1)=i,EdgPoX(EdgeNo,1)=j;将该边缘点(i,j)标识为已排序边缘点,即设置EdgPoF(i,j)=1;使用变量StartY、StartX分别保存该起点的图像纵横坐标,即设置StartY=i,StartX=j;将该边缘作为当前边缘EdgeNo;将该边缘点(i,j)作为当前边缘点(r,c),即r=i,c=j,进入步骤4.4;否则,跳转至步骤4.9;步骤4.4:存储分叉点及相应公共边缘的变量和数组的定义及初始化;定义分叉点数变量CroPoNo,并初始化为0;定义存储分叉点图像纵横坐标的一维数组CroPoY及CroPoX;定义存储第CroPoNo个分叉点对应的公共边缘CroPoNo的边缘点图像纵横坐标的二维数组ShaEdgPoY、ShaEdgPoX,其中第一维表示公共边缘序号,第二维表示边缘点序号;进入步骤4.5;步骤4.5:分叉点及公共边缘的识别:基于当前边缘点8邻域内边缘点个数及其位置关系实现当前边缘点是否为分叉点的识别;若当前边缘点8邻域内边缘点个数为两个且这两个边缘点为非相邻边缘点或边缘点个数大于2个,则当前边缘点为交叉点,当前边缘点及其前已排序边缘为公共边缘,使用CroPoNo保存分叉点数即公共边缘数,使用CroPoY及CroPoX数组分别保存分叉点图像纵横坐标,并将当前边缘点及其前已排序边缘作为该分叉点对应的公共边缘,使用数组ShaEdgPoY、ShaEdgPoX按序保存该公共边缘的边缘点图像纵横坐标;步骤4.6:判断当前边缘点(r,c)的8邻域内是否存在未排序边缘点(p,q),即判断是否存在ES(p,q)为1且EdgPoF(p,q)同时为0的像素;若是,当前边缘EdgeNo的边缘点数EdgPoNo(EdgeNo)自增1,将该边缘点(p,q)按序存入当前边缘EdgeNo,即EdgPoY(EdgeNo,EdgPoNo(EdgeNo))=p,EdgPoX(EdgeNo,EdgPoNo(EdgeNo))=q,将该边缘点(p,q)标识为已排序边缘点,即设置EdgPoF(p,q)=1,并以...

【专利技术属性】
技术研发人员:项荣
申请(专利权)人:中国计量大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1