一种基于图像处理的橡胶树斜刀痕检测方法
技术领域
本发明涉及图像识别技术领域,特别是涉及一种基于图像处理的橡胶树斜刀痕检测方法。
背景技术
橡胶树割胶长达30-40年,而割胶的劳动投入占整个橡胶生产劳动总投入的60%以上,因此,割胶是橡胶生产中最重要的环节。大部分现有的割胶机器人是“一机一树”式,即在每棵橡胶树上安装一个割胶机器人,这种机器人可以较好的实现割胶操作,但是成本高昂,且在遇到恶劣天气时很容易受到损坏。因此,需要一种移动割胶机器人,这种机器人可以实现在胶林中的自主移动并完成割胶动作,一台机器人可以对上百棵树进行割胶,可以弥补“一机一树”机器人存在的缺陷,但现有技术中并没有针对移动割胶机器人的刀痕检测方法,即现有技术不能保证移动割胶机器人在移动过程中准确识别出每颗橡胶树的刀痕的位置。
发明内容
本发明的目的是提供一种基于图像处理的橡胶树斜刀痕检测方法,能够准确定位起刀位置和刀痕轨迹。
为实现上述目的,本发明提供了如下技术方案:
一种基于图像处理的橡胶树斜刀痕检测方法,包括:
获取橡胶树图像,记为第一图像;
确定所述第一图像中的刀痕区域;
将所述刀痕区域的像素置为255,其余区域像素置为0,得到二值化图像;
对所述二值图像进行radon变换,得到斜刀痕所在直线和竖直刀痕所在直线;
将所述斜刀痕所在直线和竖直刀痕所在直线的交点作为第一起刀点;
获取所述第一起刀点周围设定范围内的图像,对所述图像中的斜刀痕所在直线进行校准;
根据校准后斜刀痕所在直线和竖直刀痕所在直线的交点校准第一起刀点,记为第二起刀点;
获取第二起刀点周围设定范围内的图像,记为第二图像;
对所述第二图像进行高斯模糊处理以及二值化,得到第三图像;
对所述第三图像进行形态学梯度处理,从而得到斜刀痕轨迹。
可选的,所述对所述二值图像进行radon变换,得到斜刀痕所在直线和竖直刀痕所在直线,包括:
获取所述二值化图像的图像矩阵;
对所述图像矩阵在0度到180度射线方向上做投影积分变换,得到一个变换矩阵,所述变换矩阵的行代表被积分的直线与水平线的夹角,列代表被积分的直线距离图像中心的距离;
获取所述变换矩阵中20-150度范围内的最大元素;
根据所述元素在变换矩阵中的位置得到斜刀痕的斜率和其与图像中心的距离;
根据所述斜刀痕的斜率和其与图像中心的距离计算斜刀痕直线方程;
获取变换矩阵中0度这一列中的最大元素,
根据所述最大元素的位置得到竖直刀痕所在直线与图像中心的距离;
根据所述竖直刀痕所在直线与图像中心的距离确定竖直刀痕的直线方程。
可选的,所述获取所述第一起刀点周围设定范围内的图像,对所述图像中的斜刀痕所在直线进行校准,包括:
将所述设定范围的图像转换成灰度图像;
用边缘检测算法canny算子对所述灰度图像进行边缘检测,得到二值边缘图像;
对所述二值边缘图像进行radon变换和直线检测,对所述斜刀痕所在直线进行校准。
可选的,所述对所述第三图像进行形态学梯度处理,从而得到斜刀痕轨迹,包括:
对所述第三图像进行形态学梯度处理,得到第四图像;
获取所述第四图像中最大的连通区域;
根据所述最大连通区域确定斜刀痕轨迹。
可选的,所述第二图像大小为第一图像的四分之一。
可选的,通过割胶机器人机械臂末端的视觉传感器获取所述橡胶树图像。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明应用图像处理的方法对割胶机器人视觉传感器采集的图像进行实时处理,能够得到精确的起刀点的位置以及斜刀痕的轨迹,从而实现割胶的机械化、自动化,相较于“一机一树”的传统割胶机器人能够降低割胶成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于图像处理的橡胶树斜刀痕检测的方法流程图。
图2为本发明橡胶树的斜刀痕和竖直刀痕示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于图像处理的橡胶树斜刀痕检测方法,能够使割胶机器人准确定位起刀位置和刀痕轨迹。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明基于图像处理的橡胶树斜刀痕检测的方法流程图,如图1所示,一种基于图像处理的橡胶树斜刀痕检测方法,包括:
步骤101获取橡胶树图像,记为第一图像;
步骤102确定所述第一图像中的刀痕区域;
步骤103将所述刀痕区域的像素置为255,其余区域像素置为0,得到二值化图像;
步骤104对所述二值图像进行radon变换,得到斜刀痕所在直线和竖直刀痕所在直线;
步骤105将所述斜刀痕所在直线和竖直刀痕所在直线的交点作为第一起刀点;
步骤106获取所述第一起刀点周围设定范围内的图像,对所述图像中的斜刀痕所在直线进行校准;
步骤107根据校准后斜刀痕所在直线和竖直刀痕所在直线的交点校准第一起刀点,记为第二起刀点;
步骤108获取第二起刀点周围设定范围内的图像,记为第二图像;
步骤109对所述第二图像进行高斯模糊处理以及二值化,得到第三图像;
步骤110对所述第三图像进行形态学梯度处理,从而得到斜刀痕轨迹。
其中,步骤101中是通过割胶机器人机械臂末端的视觉传感器得到橡胶树的图像,由于每一株橡胶树都存在一条斜刀痕和一条竖直刀痕(刀痕是割胶工人人工割出来的,因为每一次割胶都会采取左割的形式,故此每次都会形成一道斜刀痕,竖直刀痕则只需割一次以引流),所以橡胶树的图像中也存在一条斜刀痕和一条竖直刀痕;其中斜刀痕在生产上称为“开割线”,均是从左上方向右下方,称为“左割”,橡胶树产胶的乳管走向在树皮中与树干中轴成2-7度夹角,从左下方旋转上升,“左割”可以割断更多的乳管,产量高些,而竖直刀痕的作用在于引流,将渗透出的橡胶引流到树干侧面放置的容器中。
斜刀痕与竖直刀痕的交点为起刀点,如图2所示。由于橡胶是乳白色液体,氧化后会出现发黑现象,所以刀痕区域颜色与背景树皮颜色存在差异,即步骤102-103中需要应用颜色阈值分割法,对图片进行逐像素的颜色检测,将白色像素或黑色像素多于一定经验阈值的区域,即可能存在斜刀痕和竖直刀痕的区域的像素置为255,将背景像素置为0,得到一幅二值图像。
步骤104至105的具体方法为:
首先对得到的二值图像进行radon变换,即对二值化图像的矩阵在0度到180度射线方向上做投影积分变换,得到一个变换矩阵,变换矩阵的行代表做投影积分变换的角度,即被积分的直线与水平线的夹角,在数学上表现为此矩阵的行坐标即第几行;变换矩阵的列代表被积分的直线距离图像中心的距离;然后寻找变换矩阵中20-150度范围内的最大元素,这个最大元素代表了积分值最大的直线,也就是斜刀痕区域存在的最长直线,通过该元素在变换矩阵中的位置可以得到这条直线的斜率和其与图像中心的距离,进而通过在笛卡尔坐标系中的点斜式计算可以得到该斜刀痕的直线方程。同理,寻找变换矩阵中0度这一列中的最大元素,得到竖直刀痕区域中的一条直线方程,将两条直线的交点作为起刀点粗略位置,即第一起刀点。
步骤106中为了更加精确的定位起刀点位置,将得到的第一起刀点位置附近特定范围内的图像从原图像中截取出来,并转换成灰度图像;所述特定范围一般是图像大小的四分之一,例如图像为640*480,则截取以起刀点为中心的160*120区域的图像,然后用现有的边缘检测算法canny算子对截取后的图像进行边缘检测,得到包含一部分斜刀痕轮廓的二值边缘图像。由于该部分斜刀痕轮廓近似于直线,因此对该图像进行radon变换并应用直线检测的方法,得到部分斜刀痕轮廓对应的直线方程,即实现了对斜刀痕所在直线的校准,步骤107将校准后的斜刀痕所在直线与之前检测到的竖直刀痕所在直线的交点作为起刀点的精确位置,即第二起刀点,从而实现了对起刀点位置的校准。
步骤108中为了得到准确的斜刀痕轨迹,根据得到的第二起刀点精确位置以及斜刀痕对应直线的斜率,将包含斜刀痕轮廓的区域图像从原图像的二值边缘图像中截取下来,得到第二图像;第二图像中,斜刀痕轮廓周围会存在很多干扰点,干扰点存在的原因是,刀痕不是完全光滑的,且刀痕周围的树皮有纹理存在作边缘检测后会留下干扰点,然后采用步骤109对第二图像进行高斯模糊处理以及二值化操作,以去除干扰点,得到第三图像,最后步骤110对第三图像进行形态学梯度处理,提取出最大的连通区域(连通区域是指一段闭合轮廓所围成的区域,举例而言一段非完整圆弧和一个整圆围成的区域,前者是非连通区域,后者是连通区域),并将连通区域的上半部分去除掉,即得到准确的斜刀痕轨迹。
本发明还公开了如下技术效果:
本发明应用图像处理的方法对割胶机器人视觉传感器采集的图像进行实时处理,能够得到精确的起刀点的位置以及斜刀痕的轨迹,从而实现割胶的机械化、自动化,相较于“一机一树”的传统割胶机器人能够降低割胶成本。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。