基于改进的链码法的棉花顶检测方法转让专利

申请号 : CN202211081163.8

文献号 : CN115147423B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘振发

申请人 : 江苏欧罗曼家纺有限公司

摘要 :

本发明涉及图像处理领域,具体涉及一种基于改进的链码法的棉花顶检测方法。包括:采集棉花株顶轮廓二值图像;获取棉花株顶轮廓中每一个边界点的链码方向;以第一个边界点为中心设置窗口,获取下一个边界点的链码方向,判断每次窗口步长增加后下一边界点的链码方向与该边界点是否相同,若相同,将方向相同的连续边界点的链码合并;若不同,以不同的边界点设置窗口,遍历所有边界点的链码;计算棉花株顶的几何特征,将几何特征输入神经网络进行训练,检测棉花株顶图像中的棉花株顶轮廓区域。本发明利用动态窗口压缩链码长度,大大减少了数据存储,从而在优化计算结果的同时保证对叶的特征提取更精确。

权利要求 :

1.一种基于改进的链码法的棉花顶检测方法,其特征在于,包括:

S1.采集棉花株顶灰度图像并二值化,将所述棉花株顶二值图像中两叶一芽轮廓区域进行合并,得到棉花株顶轮廓二值图像;将棉花株顶二值图像中两叶一芽轮廓区域进行合并的方法为:获取棉花株顶灰度图像中两叶一芽轮廓区域的最小外接矩形,将两叶一芽轮廓区域的最小外接矩形中所有像素点标记为1,获取芽的最小外接矩形左侧中点坐标F(x,y),和右侧中点坐标J(x,y);

获取左叶最小外接矩形的左侧中点坐标G(x,y),获取右叶最小外接矩形的右侧中点坐标H(x,y);

分别以芽的最小外接矩形两侧中点坐标建立窗口,将窗口分别沿 和 移动,直至窗口中心点F,J分别到达G,H点,将窗口经过区域的像素点全部标记为1,得到两叶一芽合并后的棉花株顶轮廓图像;

S2.利用链码法对棉花株顶轮廓二值图像进行编码,得到棉花株顶轮廓每一个边界点的链码;链码法的具体的施行步骤具体为:S21.定位边界起点,按先从左到右,再从上到下逐像素探测的方法搜寻到第一个边界点,找到第一个边界点,记录链码,因为一直是从左往右,因此第一个边界点的链码为0;

S22.确定探测始点,由当前边界点指向上一个边界点构成一个矢量方向,再由此方向顺时针旋转45度,得到的当前边界点的8邻点中的点即为探测始点;

S23.从探测始点开始顺时针检测,找到下一边界点,找到下一边界点后将进入该点的链码值存入链码表,并将该边界点置为当前边界点;重复步骤S22‑S23,直到回到第一个边界点;

S3.以棉花株顶轮廓中的第一个边界点为中心设置初始窗口,获取该初始窗口中下一个边界点的链码方向,若窗口中下一边界点的链码方向与该边界点的链码方向相同,增加初始窗口步长;若下一边界点的链码方向与该边界点的链码方向不同,以不同的边界点为新的中心利用初始窗口再次进行遍历,直至将所有边界点的链码遍历完成;得到遍历过程中所有窗口的步长及每个窗口中所包含的链码;

S4. 将获得的每一个窗口中所包含的链码进行合并得到遍历后棉花株顶轮廓中新的边界点链码;

S5.利用得到的棉花株顶轮廓中新的边界点链码及每个窗口的步长获取棉花株顶轮廓区域的几何特征;

S6.将所述棉花株顶轮廓区域的几何特征作为神经网络的输入,将棉花株顶轮廓区域标记图像作为输出对神经网络进行训练,利用训练好的神经网络对棉花株顶图像中的棉花株顶轮廓区域进行检测。

2.根据权利要求1所述的一种基于改进的链码法的棉花顶检测方法,其特征在于,以棉花株顶轮廓中的第一个边界点为中心设置初始窗口,获取该初始窗口中下一个边界点的链码方向的方法为:以绵花株顶轮廓的第一个边界点为窗口中心建立窗口,所述窗口大小为(n+2i)x(n+

2i),其中,n为窗口的初始大小,i为窗口步长;顺时针遍历该窗口的八邻域,获取邻域中下一个边界点的链码方向。

3.根据权利要求2所述的一种基于改进的链码法的棉花顶检测方法,其特征在于,将获得的每一个窗口中所包含的链码进行合并的方法为:获取同一窗口中每次增加窗口步长后遍历得到的所有链码方向相同的边界点,将所有边界点的链码合并,根据合并后的链码表示该窗口中所有边界点的链码。

4.根据权利要求1所述的一种基于改进的链码法的棉花顶检测方法,其特征在于,得到遍历后棉花株顶轮廓中新的边界点链码后,还包括:获取遍历后得到的棉花株顶轮廓中所有边界点的坐标,计算两两相邻边界点的距离,根据两两相邻边界点的距离取值范围筛选离散点;

所述两两相邻边界点的距离取值范围为: ,其中,d表示两两相邻边界点的距离,i为窗口步长;

当 时,该两两相邻边界点中的下一个边界点为离散点,获取将离散点去除后所有边界点的链码。

5.根据权利要求1所述的一种基于改进的链码法的棉花顶检测方法,其特征在于,计算棉花株顶的几何特征的方法为:所述棉花株顶的几何特征包括棉花株顶的矩形度、叶形比以及圆形度;

根据棉花株顶轮廓所有边界点的链码及对应边界点的窗口步长计算棉花株顶轮廓的周长和面积,根据棉花株顶轮廓最小外接矩形的坐标计算叶片的高度和宽度;

根据棉花株顶轮廓的周长、面积、叶片的高度以及宽度计算得到棉花株顶的几何特征。

6.根据权利要求5所述的一种基于改进的链码法的棉花顶检测方法,其特征在于,对神经网络进行训练的方法为:将得到的棉花株顶矩形度、叶形比和圆形度作为向量信号输入BP模型神经网络,设置BP模型神经网络的信号节点识别参数,将棉花株顶轮廓人工标注图像作为输出训练神经网络,利用训练好的神经网络对棉花顶株图像进行特征识别,当确定目标棉花顶后进行矩形框标定,得到棉花株顶轮廓区域。

说明书 :

基于改进的链码法的棉花顶检测方法

技术领域

[0001] 本发明涉及图像处理领域,具体涉及一种基于改进的链码法的棉花顶检测方法。

背景技术

[0002] 棉花是我国非常重要的农作物之一,是农业生产的四类基础农产品,国内每年棉花的消耗量和进口量均非常庞大,基于精确农业技术的前提下,棉花的种植和管理技术也实现了高度自动化控制,棉花不同于其他植物,它有独特的生长特性即有无限生长的特点,为控制株高和后期无效果枝的生长,打顶是一项有效的措施,研究和生产实践证明,通过摘除顶心,能控制主茎的生长。
[0003] 目前,棉花打顶技术有人工打顶、化学封顶和机械打顶等3种方法。人工打顶掐掉顶芽及部分幼嫩叶片,费工费时,劳动效率低,制约了棉花生产轻简化、规模化、精准化和机械化作业;自动化去顶技术因为棉花顶的形状不规则、枝叶娇嫩,易损毁等特性,难以得到应用,现有的棉花打顶设备在进行打顶工作时,经常会对棉花植株的其他枝叶造成损伤,会影响棉花产量和经济收益,所以还需要针对精准打顶进行深入研究。
[0004] 因此,本发明提出了一种基于改进的链码法的棉花顶检测方法,通过对传统的链码法进行优化获取棉花株顶轮廓,并利用神经网络检测棉花株顶的两叶一芽轮廓区域。

发明内容

[0005] 本发明提供一种基于改进的链码法的棉花顶检测方法,以解决现有的问题,包括:
[0006] 采集棉花株顶轮廓图像;获取棉花株顶轮廓中每一个边界点的链码方向;以第一个边界点为中心设置窗口,获取下一个边界点的链码方向,判断每次窗口步长增加后下一边界点的链码方向与该边界点是否相同,若相同,将方向相同的连续边界点的链码合并; 若不同,保留该不同边界点的链码,以不同的边界点为新的中心设置窗口,重复遍历所有边界点的链码;计算棉花株顶的几何特征,将几何特征输入神经网络进行训练,检测棉花株顶图像中的棉花株顶轮廓区域。
[0007] 根据本发明提出的技术手段,通过对图像进行预处理,将棉花株顶两叶一芽的轮廓图像进行合并,克服了传统链码法只能跟踪一部分轮廓的局限性,同时利用动态窗口压缩链码长度,大大减少了数据的存储量,从而在优化计算结果的同时保证对棉花株顶轮廓的特征提取更精确,能够大大提高自动化棉花打顶的精确度。
[0008] 本发明采用如下技术方案,一种基于改进的链码法的棉花顶检测方法,包括:
[0009] S1.采集棉花株顶灰度图像并二值化,将所述棉花株顶二值图像中两叶一芽轮廓区域进行合并,得到棉花株顶轮廓二值图像。
[0010] S2.利用链码法对棉花株顶轮廓二值图像进行编码,得到棉花株顶轮廓每一个边界点的链码。
[0011] S3.以棉花株顶轮廓中的第一个边界点为中心设置初始窗口,获取该初始窗口中下一个边界点的链码方向,若窗口中下一边界点的链码方向与该边界点的链码方向相同,增加初始窗口步长;若下一边界点的链码方向与该边界点的链码方向不同,以不同的边界点为新的中心利用初始窗口再次进行遍历,直至将所有边界点的链码遍历完成;得到遍历过程中所有窗口的步长及每个窗口中所包含的链码。
[0012] S4. 将获得的每一个窗口中所包含的链码进行合并得到遍历后棉花株顶轮廓中新的边界点链码。
[0013] S5.利用得到的棉花株顶轮廓中新的边界点链码及每个窗口的步长获取棉花株顶轮廓区域的几何特征。
[0014] S6.将所述棉花株顶轮廓区域的几何特征作为神经网络的输入,将棉花株顶轮廓区域标记图像作为输出对神经网络进行训练,利用训练好的神经网络对棉花株顶图像中的棉花株顶轮廓区域进行检测。
[0015] 进一步的,一种基于改进的链码法的棉花顶检测方法,将所述棉花株顶二值图像中两叶一芽轮廓区域进行合并的方法为:
[0016] 获取棉花株顶灰度图像中两叶一芽轮廓区域的最小外接矩形,将两叶一芽轮廓区域的最小外接矩形中所有像素点标记为1,获取芽的最小外接矩形左侧中点坐标F(x,y),和右侧中点坐标J(x,y);
[0017] 获取左叶最小外接矩形的左侧中点坐标G(x,y),获取右叶最小外接矩形的右侧中点坐标H(x,y);
[0018] 分别以芽的最小外接矩形两侧中点坐标建立窗口,将窗口分别沿 和 移动,直至窗口中心点F,J分别到达G,H点,将窗口经过区域的像素点全部标记为1,得到两叶一芽合并后的棉花株顶轮廓图像。
[0019] 进一步的,一种基于改进的链码法的棉花顶检测方法,以棉花株顶轮廓中的第一个边界点为中心设置初始窗口,获取该初始窗口中下一个边界点的链码方向的方法为:
[0020] 以绵花株顶轮廓的第一个边界点为窗口中心建立窗口,所述窗口大小为(n+2i)x(n+2i),其中,n为窗口的初始大小,i为窗口步长;顺时针遍历该窗口的八邻域,获取邻域中下一个边界点的链码方向。
[0021] 进一步的,一种基于改进的链码法的棉花顶检测方法,将获得的每一个窗口中所包含的链码进行合并的方法为:
[0022] 获取同一窗口中每次增加窗口步长后遍历得到的所有链码方向相同的边界点,将所有边界点的链码合并,根据合并后的链码表示该窗口中所有边界点的链码。
[0023] 进一步的,一种基于改进的链码法的棉花顶检测方法,得到遍历后棉花株顶轮廓中新的边界点链码后,还包括:
[0024] 获取遍历后得到的棉花株顶轮廓中所有边界点的坐标,计算两两相邻边界点的距离,根据两两相邻边界点的距离取值范围筛选离散点;
[0025] 所述两两相邻边界点的距离取值范围为: ,其中,d表示两两相邻边界点的距离,i为窗口步长;
[0026] 当 时,该两两相邻边界点中的下一个边界点为离散点,获取将离散点去除后所有边界点的链码。
[0027] 进一步的,一种基于改进的链码法的棉花顶检测方法,计算棉花株顶的几何特征的方法为:
[0028] 所述棉花株顶的几何特征包括棉花株顶的矩形度、叶形比以及圆形度;
[0029] 根据棉花株顶轮廓所有边界点的链码及对应边界点的窗口步长计算棉花株顶轮廓的周长和面积,根据棉花株顶轮廓最小外接矩形的坐标计算叶片的高度和宽度;
[0030] 根据棉花株顶轮廓的周长、面积、叶片的高度以及宽度计算得到棉花株顶的几何特征。
[0031] 进一步的,一种基于改进的链码法的棉花顶检测方法,对神经网络进行训练的方法为:
[0032] 将得到的棉花株顶矩形度、叶形比和圆形度作为向量信号输入BP模型神经网络,设置BP模型神经网络的信号节点识别参数,将棉花株顶轮廓人工标注图像作为输出训练神经网络,利用训练好的神经网络对棉花顶株图像进行特征识别,当确定目标棉花顶后进行矩形框标定,得到棉花株顶轮廓区域。
[0033] 本发明的有益效果是:根据本发明提出的技术手段,通过对图像进行预处理,将棉花株顶两叶一芽的轮廓图像进行合并,克服了传统链码法只能跟踪一部分轮廓的局限性,同时利用动态窗口压缩链码长度,大大减少了数据的存储量,从而在优化计算结果的同时保证对棉花株顶轮廓的特征提取更精确,能够大大提高自动化棉花打顶的精确度。

附图说明

[0034] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0035] 图1为本发明实施例的一种基于改进的链码法的棉花顶检测方法结构示意图;
[0036] 图2为图1中利用链码法对棉花株顶轮廓进行编码的方法结构示意图。

具体实施方式

[0037] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038] 如图1所示,给出了本发明实施例的一种基于改进的链码法的棉花顶检测方法结构示意,包括:
[0039] S1. 采集棉花株顶灰度图像并二值化,将所述棉花株顶二值图像中两叶一芽轮廓区域进行合并,得到棉花株顶轮廓二值图像。
[0040] 本发明通过固定在可移动打顶机上的相机获取棉花株顶两叶一芽的彩色图片,对得到的彩色图选用加权平均法进行灰度处理。
[0041] 由于室外环境的光影变化或者拍摄设备的设置等外界条件影响,导致在进行图像采集、发送以及图像转换时,采集的棉花顶样本图像不可避免的会被光照不均、硬件抖动或电磁波噪声等因素干扰,本方案采用高斯滤波来对图像进行降噪处理,在过滤掉白噪声的同时较完整的保留边缘轮廓信息。
[0042] 经过高斯滤波处理后的棉花图像清晰度不强,所以要进行图像增强,即对图像上表示的有效信息进行综合增强,改善具体图像的视觉可观性和整体视觉效果,提高具体图像的视觉清晰度。
[0043] 本方案采用灰度增强变换对处理后的图像进行增强,并采用自适应阈值分割法中的最大类间方差阈值分割,对处理后的图片进行前后景分割,进而对图像进行二值化。
[0044] 采集棉花株顶灰度图像并进行图像预处理的方法为:
[0045] 获取棉花株顶灰度图像中两叶一芽轮廓区域的最小外接矩形,将两叶一芽轮廓区域的最小外接矩形中所有像素点标记为1,获取芽的最小外接矩形左侧中点坐标F(x,y),和右侧中点坐标J(x,y);
[0046] 获取左叶最小外接矩形的左侧中点坐标G(x,y),获取右叶最小外接矩形的右侧中点坐标H(x,y);
[0047] 分别以芽的最小外接矩形两侧中点坐标建立窗口,将窗口分别沿 和 移动,直至窗口中心点F,J分别到达G,H点,将窗口经过区域的像素点全部标记为1,得到两叶一芽合并后的棉花株顶轮廓图像。
[0048] S2.利用链码法对棉花株顶轮廓二值图像进行编码,得到棉花株顶轮廓每一个边界点的链码。
[0049] 链码法的具体的施行步骤如图2所示,具体为:
[0050] S21.定位边界起点,按先从左到右,再从上到下逐像素探测的方法搜寻到第一个边界点,找到第一个边界点,记录链码,因为一直是从左往右,因此第一个边界点的链码为0。
[0051] S22.确定探测始点,原则上探测始点只要设为当前边界点8邻点中的被跟踪对象区域外部点即可,具体过程是:由当前边界点指向上一个边界点构成一个矢量方向,再由此方向顺时针旋转45度,得到的当前边界点的8邻点中的点即为第一个外部点,由此点开始,按顺时针方向探测8邻域。
[0052] S23.确定下一边界点,对该边界点重复第二步,以轮廓初始点为起点,从探测始点开始顺时针检测,找到下一边界点,找到下一边界点后将进入该点的链码值存入链码表,并将该边界点置为当前边界点,重复第二步,第三步,直到回到轮廓初始点。
[0053] S3. 以棉花株顶轮廓中的第一个边界点为中心设置初始窗口,获取该初始窗口中下一个边界点的链码方向,若窗口中下一边界点的链码方向与该边界点的链码方向相同,增加初始窗口步长;若下一边界点的链码方向与该边界点的链码方向不同,以不同的边界点为新的中心利用初始窗口再次进行遍历,直至将所有边界点的链码遍历完成;得到遍历过程中所有窗口的步长及每个窗口中所包含的链码。
[0054] 判断每次窗口步长增加后的窗口中下一边界点的链码方向与该边界点的链码方向是否相同,若相同,将每次增加窗口步长后链码方向相同的连续边界点的链码合并;获取所有链码合并后边界点的窗口步长。
[0055] 以棉花株顶轮廓的第一个边界点为中心设置窗口进行遍历的方法为:
[0056] 以绵花株顶轮廓的第一个边界点为窗口中心建立窗口,所述窗口大小为(n+2i)x(n+2i),其中,n为窗口的初始大小,i为窗口步长,初始值为1;顺时针遍历该窗口的八邻域,获取邻域中下一个边界点的链码方向,由于本发明采用8邻域链码法,所以n的初始值为3。
[0057] 若进入新探测到的边界点的链码方向与进入上一边界点的链码方向相同,则链码表中不存入新的链码方向,链码长度保持不变;动态扩大窗口步长,即i=i+1=2,新的窗口大小为(3+2i)x(3+2i)=7x7,此时,以(n+i)x(n+i)即5x5窗口作为新的网格,将网格拟化为一个中心点,顺时针探索网格周围邻域,若链码方向仍不变,则重复上述步骤。
[0058] 若新探测到的边界点的链码方向与进入上一边界点的链码方向不同,记录此时步长i的取值,并将i重新置为1;记录新的链码方向,更新链码表长度,得到新的链码串;将该点坐标存入新的边界轮廓坐标集合P1{…},其中P1{…}中的第一个值默认为第一个边界点的坐标,以新探测到的边界点为新的中心点,执行链码法。
[0059] S4. 将获得的每一个窗口中所包含的链码进行合并得到遍历后棉花株顶轮廓中新的边界点链码。
[0060] 将每次增加窗口步长后链码方向相同的连续边界点的链码合并的方法为:
[0061] 获取每次增加窗口步长后遍历得到的所有链码方向相同的边界点,将所有边界点的链码合并,利用合并后的链码表示所有边界点的链码。
[0062] 获取遍历后得到的棉花株顶轮廓中所有边界点的链码方向后,还包括:
[0063] 获取遍历后得到的棉花株顶轮廓中所有边界点的坐标作为边界轮廓坐标集合P1{…},计算两两相邻边界点的距离,根据两两相邻边界点的距离取值范围筛选离散点;
[0064] 所述两两相邻边界点的距离取值范围为: ,其中,d表示两两相邻边界点的距离,i为窗口步长;
[0065] 当 时,该两两相邻边界点中的下一个边界点为离散点,获取将离散点去除后所有边界点的链码。
[0066] S5. 利用得到的棉花株顶轮廓中新的边界点链码及每个窗口的步长获取棉花株顶轮廓区域的几何特征。
[0067] 计算棉花株顶的几何特征的方法为:
[0068] 所述棉花株顶的几何特征包括棉花株顶的矩形度、叶形比以及圆形度;
[0069] 根据棉花株顶轮廓所有边界点的链码及对应边界点的窗口步长计算棉花株顶轮廓的周长和面积,根据棉花株顶轮廓最小外接矩形的坐标计算叶片的高度和宽度;
[0070] 计算周长的方法为:设轮廓周长为 ,A3链码串中的偶数链码数为a,奇数链码数为b,从步长数组中找到对应的偶数奇数步数和n和m,则:
[0071]
[0072] 计算面积的方法为:设轮廓面积为 ,则
[0073]
[0074] 其中, ; 是初始点的坐标; 和 分别表示8链码的横坐标和纵坐标的偏移量。
[0075] 计算高度和宽度的方法为:对图像进行链码化后,求(x,y)方向上最小外接矩形的方法即为找到链码中的Xmax,Xmin, Ymax, Ymin。 那么点(Xmin,Ymin) 和(Xmax, Ymax)分别就是矩形的左上和右下角,从而计算出叶片的高度和宽度。
[0076] 根据棉花株顶轮廓的周长、面积、叶片的高度以及宽度计算得到棉花株顶的几何特征。
[0077] S6.将所述棉花株顶轮廓区域的几何特征作为神经网络的输入,将棉花株顶轮廓区域标记图像作为输出对神经网络进行训练,利用训练好的神经网络对棉花株顶图像中的棉花株顶轮廓区域进行检测。
[0078] 将所述棉花株顶的几何特征输入神经网络进行训练的方法为:
[0079] 将得到的棉花株顶矩形度、叶形比和圆形度作为向量信号输入BP模型神经网络,设置BP模型神经网络的信号节点识别参数对棉花顶株特征图像中的信号节点进行特征识别,当确定目标棉花顶后进行矩形框标定。
[0080] 借助于BP神经网络进行训练时,本发明的训练样本是采集的棉株顶样本图像集,基于标准BP神经网络识别实验共有500张训练样本,其中随机选取的训练样本为400张和选取的测试样本为100张。
[0081] 根据本发明提出的技术手段,通过对图像进行预处理,将棉花株顶两叶一芽的轮廓图像进行合并,克服了传统链码法只能跟踪一部分轮廓的局限性,同时利用动态窗口压缩链码长度,大大减少了数据的存储量,从而在优化计算结果的同时保证对棉花株顶轮廓的特征提取更精确,能够大大提高自动化棉花打顶的精确度。
[0082] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。