发明内容
考虑到相关技术中出现的技术问题,本发明提供了一种多边形检测技术,可准确的检测出图像中的目标多边形。
根据本发明的一个方面,提供了一种多边形检测方法,包括:获取输入图像的边缘图像;从所述边缘图像中提取出多条待选直线;将所述多条待选直线进行分组,每组包含n条边,并计算所述n条边的n个交点,将所述n个交点作为n边形的候选顶点;对所述输入图像进行角点检测,获取一组与所述角点相似度最大的候选顶点,以作为所述n边形的顶点。
在本实施例中,将直线与角点的检测结合起来,利用两种约束共同来检测目标多边形,提出一种基于直线和角点检测目标多边形的算法,更好地利用了已知条件,具有检测快速而准确的特点。
其中,所述获取输入图像的边缘图像,具体包括:将所述输入图像转换成灰度图像;使用边缘检测器对所述灰度图像进行边缘检测,并对检测出的边缘进行加粗处理,得到所述边缘图像。
在上述技术方案中,优选的,所述从所述边缘图像中提取出多条待选直线,具体包括:对所述边缘图像进行霍夫变换;根据霍夫变换峰值查找出连接线段,将查找出的连接线段作为所述多条待选直线。
对边缘图像作霍夫变换后,找到明显的霍夫变换峰值,然后利用找到的峰值,来查找并连接线段。对于图像的长和宽中的较小值L,如果找到的两条线段之间的距离小于L/16,则将它们合并成一条长线段,最终只取长度大于L/4的线段。这样的基本假设是目标多边形在图片中的大小不会特别小,并且其边缘可能会被遮挡。这个策略可以排除一部分线段,并且对于区域边界被噪声干扰或被其他物体遮盖而引起边界发生某些间断的情况有了更好的容错性和鲁棒性。
在上述技术方案中,优选的所述对所述输入图像进行角点检测,具体包括:计算所述输入图像中每个点在x方向上和y方向上与相邻点的差分;使用准则函数以所述差分为参数计算获得角点响应值;在所述角点响应值大于预设值时,确定该点为一个角点。
在上述技术方案中,优选的所述将所述多条待选直线进行分组,具体包括:按照n边形的边的斜率范围,选取直线斜率在所述斜率范围内的直线;根据选取的直线的中心点相对于图像的位置,将选取的直线分为n组;从所述n组中分别取出一条直线,得到n条直线,所述n条直线作为一组,得到新若干组。
根据本发明的另一方面,还提供了一种多边形检测装置,包括:获取单元,连接至提取单元,获取输入图像的边缘图像;所述提取单元,连接至分组单元,用于从所述边缘图像中提取出多条待选直线;所述分组单元,连接至匹配单元,用于将所述多条待选直线进行分组,每组包含n条边,并计算所述n条边的n个交点,将所述n个交点作为n边形的候选顶点;所述匹配单元,用于对所述输入图像进行角点检测,获取一组与所述角点相似度最大的候选顶点,以作为所述n边形的顶点。
在本实施例中,将直线与角点的检测结合起来,利用两种约束共同来检测目标多边形,提出一种基于直线和角点检测目标多边形的算法,更好地利用了已知条件,具有检测快速而准确的特点。
在上述技术方案中,优选的,所述获取单元包括:转换单元,用于将所述输入图像转换成灰度图像;检测单元,用于使用边缘检测器对所述灰度图像进行边缘检测,并对检测出的边缘进行加粗处理,得到所述边缘图像。
在上述技术方案中,优选的,所述提取单元包括:霍夫变换单元,用于对所述边缘图像进行霍夫变换;查找单元,用于根据霍夫变换峰值查找出连接线段,将查找出的连接线段作为所述多条待选直线。
对边缘图像作霍夫变换后,找到明显的霍夫变换峰值,然后利用找到的峰值,来查找并连接线段。对于图像的长和宽中的较小值L,如果找到的两条线段之间的距离小于L/16,则将它们合并成一条长线段,最终只取长度大于L/4的线段。这样的基本假设是目标多边形在图片中的大小不会特别小,并且其边缘可能会被遮挡。这个策略可以排除一部分线段,并且对于区域边界被噪声干扰或被其他物体遮盖而引起边界发生某些间断的情况有了更好的容错性和鲁棒性。
在上述技术方案中,优选的,所述匹配单元包括:计算单元,用于计算所述输入图像中每个点在x方向上和y方向上与相邻点的差分,使用准则函数以所述差分为参数计算获得角点响应值;判断单元,在所述角点响应值大于预设值时,确定该点为一个角点。
在上述技术方案中,优选的,所述分组单元包括:选取单元,用于按照n边形的边的斜率范围,选取直线斜率在所述斜率范围内的直线;分配单元,用于根据选取的直线的中心点相对于图像的位置,将所述选取单元选取的直线分为n组;组合单元,用于从所述n组中分别取出一条直线,得到n条直线,所述n条直线作为一组,得到新若干组。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的多边形检测方法的示意流程图。
如图1所示,根据本发明的实施例的多边形检测方法可以包括以下步骤:
步骤102,获取输入图像的边缘图像;步骤104,从边缘图像中提取出多条待选直线;步骤106,将多条待选直线进行分组,每组包含n条边,并计算n条边的n个交点,将n个交点作为n边形的候选顶点;步骤108,对输入图像进行角点检测,获取一组与角点相似度最大的候选顶点,以作为n边形的顶点。
在本实施例中,将直线与角点的检测结合起来,利用两种约束共同来检测目标多边形,提出一种基于直线和角点检测目标多边形的算法,更好地利用了已知条件,具有检测快速而准确的特点。
其中,所述获取输入图像的边缘图像,具体包括:将所述输入图像转换成灰度图像;使用边缘检测器对所述灰度图像进行边缘检测,并对检测出的边缘进行加粗处理,得到所述边缘图像。
在上述技术方案中,优选的,所述从所述边缘图像中提取出多条待选直线,具体包括:对所述边缘图像进行霍夫变换;根据霍夫变换峰值查找出连接线段,将查找出的连接线段作为所述多条待选直线。
对边缘图像作霍夫变换后,找到明显的霍夫变换峰值,然后利用找到的峰值,来查找并连接线段。对于图像的长和宽中的较小值L,如果找到的两条线段之间的距离小于L/16,则将它们合并成一条长线段,最终只取长度大于L/4的线段。这样的基本假设是目标多边形在图片中的大小不会特别小,并且其边缘可能会被遮挡。这个策略可以排除一部分线段,并且对于区域边界被噪声干扰或被其他物体遮盖而引起边界发生某些间断的情况有了更好的容错性和鲁棒性。
在上述技术方案中,优选的所述对所述输入图像进行角点检测,具体包括:计算所述输入图像中每个点在x方向上和y方向上与相邻点的差分;使用准则函数以所述差分为参数计算获得角点响应值;在所述角点响应值大于预设值时,确定该点为一个角点。
在上述技术方案中,优选的所述将所述多条待选直线进行分组,具体包括:按照n边形的边的斜率范围,选取直线斜率在该一范围内的直线;根据选取的直线的中心点相对于图像的位置,将选取的直线分为n组;从所述n组中分别取出一条直线,得到n条直线,所述n条直线作为一组,得到新若干组。
在下文中以四边形为优选实施例来说明根据本发明的的多边形检测方法。
图2示出了根据本发明的实施例的四边形检测方法的示意流程图。
如图2所示,步骤102,将输入图像转换为灰度图像I。使用Canny边缘检测器,对灰度图像I检测边缘,并且对边缘进行±3像素的膨胀处理,使边缘加长加粗,获得边缘图像。
步骤104,对边缘图像作霍夫变换。
步骤106,找到16个明显的霍夫变换峰值,然后利用找到的峰值,查找并连接线段。对于图像的长和宽中的较小值L,如果找到的两条线段之间的距离小于L/16,则将它们合并成一条长线段,最终只取长度大于L/4的线段。这样的基本假设是目标四边形在图片中的大小不会特别小,并且其边缘可能会被遮挡。这个策略可以排除一部分线段,并且对于区域边界被噪声干扰或被其他物体遮盖而引起边界发生某些间断的情况有了更好的容错性和鲁棒性。
步骤108,检查检测出的线段个数,如果小于4,则进入步骤110,降低判定峰值的阈值,然后重复步骤108,如果阈值降到0还是检测不出至少4条线段,认为原图片中没有明显的四边形,否则将所有线段扩展为直线。
步骤112,如果直线斜率的绝对值大于1,那么判定直线为竖直方向的边,对于竖直方向的边,如果直线的中心点在图像的左半边,则该直线归入左边组,否则归入右边组。同理斜率绝对值小于等于1,为水平方向的边,中心点在图像上半边,归入上边组,否则下边组。这样就将直线分为了4组。
步骤114,如果分好组后,存在空组,则进入步骤124,认为找不到目标四边形,否则进入步骤116。
步骤116,对灰度图片进行harris角点检测,获得每个点的角点响应函数值。具体方法是计算图像中每个点在x和y方向上相邻点的差分,并利用准则函数以差分的值为参数计算获得harris角点响应的值R,这个值越高,代表该点越近似一个角点。
步骤118,每次从4组直线中分别取出1条直线,共4条直线为一组候选边。用这4个候选边计算4个候选顶点。利用候选顶点进行四边形位置的判定:如果顶点的位置到了图片之外,排除这组候选顶点。否则,计算出这4个顶点的R值之和。
步骤120,如果所有候选顶点都被排除,则认为找不到目标四边形,否则进入步骤122。
步骤122,取R值和最大的那组顶点,为检测出的目标四边形顶点,从而检测出目标四边形。
上述方法使用Canny边缘检测其提取出图像中的边缘。在此基础上,使用霍夫变换,在霍夫参数空间寻找累加器峰值的方法检测直线。将所有检测得到的直线按照位置和斜率分成4组,每次取4组中的直线各一条,求出4个待选的四边形顶点,枚举所有待选四边形的顶点,通过harris角点检测,计算出最可能是角点的4个点为检测出的四边形顶点。本发明将直线和角点两方面同时考虑,充分利用四边形的性质,提高了检测目标四边形的准确性。
图3示出了根据本发明的实施例的多边形检测装置的框图。
如图3所示,根据本发明的实施例的多边形检测装置300包括:获取单元302,连接至提取单元304,获取输入图像的边缘图像;所述提取单元304,连接至分组单元306,用于从所述边缘图像中提取出多条待选直线;所述分组单元306,连接至匹配单元308,用于将所述多条待选直线进行分组,每组包含n条边,并计算所述n条边的n个交点,将所述n个交点作为n边形的候选顶点;所述匹配单元308,用于对所述输入图像进行角点检测,获取一组与所述角点相似度最大的候选顶点,以作为所述n边形的顶点。在本实施例中,将直线与角点的检测结合起来,利用两种约束共同来检测目标多边形,提出一种基于直线和角点检测目标多边形的算法,更好地利用了已知条件,具有检测快速而准确的特点。
在上述技术方案中,优选的,所述获取单元302包括:转换单元3022,用于将所述输入图像转换成灰度图像;检测单元3024,用于使用边缘检测器对所述灰度图像进行边缘检测,并对检测出的边缘进行加粗处理,得到所述边缘图像。
在上述技术方案中,优选的,所述提取单元304包括:霍夫变换单元3042,用于对所述边缘图像进行霍夫变换;查找单元3044,用于根据霍夫变换峰值查找出连接线段,将查找出的连接线段作为所述多条待选直线。对边缘图像作霍夫变换后,找到明显的霍夫变换峰值,然后利用找到的峰值,来查找并连接线段。对于图像的长和宽中的较小值L,如果找到的两条线段之间的距离小于L/16,则将它们合并成一条长线段,最终只取长度大于L/4的线段。这样的基本假设是目标多边形在图片中的大小不会特别小,并且其边缘可能会被遮挡。这个策略可以排除一部分线段,并且对于区域边界被噪声干扰或被其他物体遮盖而引起边界发生某些间断的情况有了更好的容错性和鲁棒性。
在上述技术方案中,优选的,所述匹配单元308包括:计算单元3082,用于计算所述输入图像中每个点在x方向上和y方向上与相邻点的差分,使用准则函数以所述差分为参数计算获得角点响应值;判断单元3084,在所述角点响应值大于预设值时,确定该点为一个角点。
在上述技术方案中,优选的,所述分组单元306包括:选取单元3062,用于按照n边形的边的斜率范围,选取直线斜率在所述斜率范围内的直线;分配单元3064,用于根据选取的直线的中心点相对于图像的位置,将所述选取单元选取的直线分为n组;组合单元3066,用于从所述n组中分别取出一条直线,得到n条直线,所述n条直线作为一组,得到新若干组。
以上结合附图详细说明了根据本发明的技术方案,根据以上方法可以在没有其他先验知识的情况下检测出图像中的目标多边形位置。在实际应用中,会有更多的先验知识,通过修改上述函数的阈值,可以有效地利用这些先验知识,从而更符合实际情况更准确地检测出目标多边形。并且,分组的思想可以扩展为分成任意组,本方法也就能够扩展为检测任意多边形的方法,具有很强的扩展性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。