一种用于投影交互系统的直线检测方法技术方案

技术编号:14005555 阅读:74 留言:0更新日期:2016-11-16 23:27
本发明专利技术涉及一种用于投影交互系统的直线检测方法,与现有技术相比解决了直线检测方法无法满足实际需要的缺陷。本发明专利技术包括以下步骤:边缘像素点的检测,利用canny边缘检测算法从目标图像中检测出边缘像素点;边缘像素点的筛选,基于不同的处理方法对多样的边缘线条进行处理,以确定像素点的保留或滤除;直线拟合操作,遍历目标图像中所有的线条,找到最合适的拼接线条,对直线进行拼接和拟合,以得到直线检测结果;重复直线的滤除,对这些高度平行且距离较近的直线进行规整,以滤除重复的直线。本发明专利技术具有受光照干扰少、直线检测正确率高、速度快的优点。

【技术实现步骤摘要】

本专利技术涉及图像处理
,具体来说是一种用于投影交互系统的直线检测方法
技术介绍
人机交互技术是计算机科学中至关重要的一个领域,其发展历史基本上代表了计算机的发展历史。从最早的大型机上的笨拙的开关系统,到早期键盘和鼠标的出现以及当下流行的触摸屏,人机交互技术的发展速度日新月异。近年来,由于计算机视觉技术的飞速发展,以及新的传感器(比如深度相机Kinect、LeapMotion等)的出现,使得各种便捷式的人机交互方式层出不穷。利用视觉传感器与投影仪进行组合形成投影交互系统,是一种新的交互方式。该方式能够直接将投影区域变成触摸屏,实现与计算机交互的功能。这种新的交互方式显著提升了在教室和会议室环境中的交互效率,提高了使用者的演讲效果。标定模块是投影交互系统的核心关键模块。该模块能够得到投影界面与计算机之间的映射关系,其精度直接影响最终的交互体验。在标定模块对摄像机捕获的标定图进行分析,确定标定点的位置是常见的做法,而直线检测则是其中、最常用的技巧。因此直线检测的正确性与效率,对整个交互投影系统只管重要。常规的直线检测方法存在很多问题,如Hough直线检测算法,其存在检测速度慢、容易受到噪声干扰的缺点,并且检测结果中容易出现大量虚假的直线,给应用软件造成严重干扰。如何开发出一种适用于投影交互系统的直线检测方法已经成为急需解决的技术问题。
技术实现思路
本专利技术的目的是为了解决现有技术中的直线检测方法无法满足实际需要的缺陷,提供一种用于投影交互系统的直线检测方法来解决上述问题。为了实现上述目的,本专利技术的技术方案如下:一种用于投影交互系统的直线检测方法,包括以下步骤:边缘像素点的检测,利用canny边缘检测算法从目标图像中检测出边缘像素点;边缘像素点的筛选,基于不同的处理方法对多样的边缘线条进行处理,以确定像素点的保留或滤除;直线拟合操作,遍历目标图像中所有的线条,找到最合适的拼接线条,对直线进行拼接和拟合,以得到直线检测结果;重复直线的滤除,对这些高度平行且距离较近的直线进行规整,以滤除重复的直线。所述的边缘像素点的筛选包括以下步骤:单独线条的处理判断,针对单独线条使用连通域分析算法得到该线条连通域的最小外接矩形,若该最小外接矩形的长边大于长边阈值L1,且短边小于短边阈值L2,则认为该子线段为直线,将整个子线段都将作为直线的候选点进行保留;若干条线条发生粘连的处理判断,在若干条线条粘连的分叉点处将线条进行打断,对每个子线条进行分析,若发现某个线条属于直线,则作为候选点保留下来;若不是直线的子线条,则进行滤除;短连通域的处理判断,将连通域对应的最小外接矩形的长边小于长边阈值L1的定义为短连通域,将该线条上的所有点标记为二级候选点;曲线线条的处理判断,将外接矩形不符合尺寸上的要求且线条上也不包含直线子线条的线条定义为曲线线条,对曲线线条整个线条上的所有点均进行滤除。所述的直线拟合操作为遍历处理目标图像中所有的线条,其包括以下步骤:找到目标图像中最长的直线子线段,标记为Lmax;在Lmax周边的范围内,搜索其他的直线子线段,搜索条件如下:搜索两条直线子线段的方向夹角差小于10°的直线子线段;搜索两个端点的欧氏距离小于30个像素的直线子线段;搜索两条平行直线之间的距离小于10个像素的直线子线段;将仍未匹配的子线段集合定义为S1;对S1中的子线段进行遍历,按搜索条件进行搜索,并且计算匹配误差;匹配误差为用来拟合成直线的两个子线段上的所有的像素点到拟合结果的距离的总和;找到S1中匹配误差最小的子线段,记为Lmin;如果该误差小于2个像素,则将Lmax与Lmin融合为新的直线,标记为Lmax,并且更新记录,滤除Lmin的记录;如果误差大于2个像素,则不予考虑;遍历处理目标图像中所有的线条,直到所有直线子线段无法匹配为止。所述的重复直线的滤除包括以下步骤:找到长度最长的直线段,记为直线MAXl1;遍历余下的直线段,如果某条直线与直线MAXl平行且距离小于距离阈值L3,且重叠比例高于重叠阈值L4,则删除当前直线段;找到余下的直线中最长的直线段,记为MAXl2;重复42步骤和43步骤,直到所有的重复直线都被滤除。所述的边缘像素点的筛选步骤和直线拟合操作步骤之间还包括边缘的连接步骤,所述的边缘的连接包括以下步骤:设定距离阈值,小于该距离阈值的线条均与当前线条结合起来进行连接分析,连接分析原理如下:若某条直线子线条与当前候选线条的拟合误差小于2个像素,且二者的联合外接矩形的高度小于5个像素,其中拟合误差为参与拟合的像素点的位置到拟合后的线条的距离平均值,则将该直线子线条与当前候选线条连接起来;若距离在30个像素以内的一个候选线条,与当前直接子线条二者联合之后形成的外接矩形在长度和高度上都满足成为线条的条件,则加以连接,其中:线条的条件为高度小于5个像素,长度大于50个像素。还包括检测结果的后期验证,将明显异常的直线检测结果滤除掉,其包括以下步骤:将直线上边缘点像素数目与直线段的长度结合起来计算比值,计算公式如下:r=N/L,其中N是像素点数目,L是直线段长度;如果比值低于0.4,则认为是错误检测,直接放弃;若比值高于0.4的直线段,认定为正确的结果;针对两条相邻的子线段,前一条子线段的终点到当前子线段起点的距离为最大间隔距离,若最大间隔距离超过设定的间隔阈值L5,则滤除该结果;对于最大间隔距离小于间隔阈值L5的直线段予以保留;从直线段的端点出发,依次记录下每一个像素点位置的亮度值,直到另一个端点位置,得到一条亮度变化曲线;对该曲线进行分析,观察每一个位置的亮度变化率,形成亮度变化曲线上的梯度值;若整条曲线上,每一个位置梯度值小于10,则说明亮度的变化很小,符合亮度值统一性的,认定为直线;若某个位置梯度值大于60,则说明该位置亮度值发生了剧变,不符合亮度值的统一性,判断不是直线;在每个像素点与直线垂直的两侧,分别取一个20个像素长度的线条,计算该线条上像素的平均亮度值;对同一侧的每个位置的线条上的平均亮度值进行统一性分析,如果直线上所有像素点两侧的平均亮度值都是统一的,则认为是直线,否则进行滤除。所述的在若干条线条粘连的分叉点处将线条进行打断方法如下:对线条对应的连通域上的每一个像素进行分析,出现如下情形则打断:该像素点与三个以上的像素点相连,为一个分叉或交叉位置,将这个像素点滤除,使得若干个线条完全断裂;该像素点的线条形成角度的夹角值在0°-160°之内,将该像素点滤除,使得原线条变成两段;该像素点位置为圆弧线与直线段的相接点,将该像素点滤除,使得原线条变成两段。所述的长边阈值L1为50个像素,短边阈值L2为5个像素。所述的距离阈值L3为10个像素;重叠阈值L4为0.5个像素。所述的间隔阈值L5为200个像素。有益效果本专利技术是一种用于投影交互系统的直线检测方法,与现有技术相比具有受光照干扰少、直线检测正确率高、速度快的优点。外界光照照射在投影区域之后,导致该区域亮度发生不规则的变化,边缘检测的结果很容易出现断裂的现象。本专利技术通过边缘的结构和形状进行深层次分析,将距离较近的线条连接起来,因此将光照造成的断裂现象降低到了最少。本专利技术对直线检测的结果进行后期验证,首先滤除重复直线,然后从直线上的边缘点数目、直线上线条最大间本文档来自技高网...
一种用于投影交互系统的直线检测方法

【技术保护点】
一种用于投影交互系统的直线检测方法,其特征在于,包括以下步骤:11)边缘像素点的检测,利用canny边缘检测算法从目标图像中检测出边缘像素点;12)边缘像素点的筛选,基于不同的处理方法对多样的边缘线条进行处理,以确定像素点的保留或滤除;13)直线拟合操作,遍历目标图像中所有的线条,找到最合适的拼接线条,对直线进行拼接和拟合,以得到直线检测结果;14)重复直线的滤除,对这些高度平行且距离较近的直线进行规整,以滤除重复的直线。

【技术特征摘要】
1.一种用于投影交互系统的直线检测方法,其特征在于,包括以下步骤:11)边缘像素点的检测,利用canny边缘检测算法从目标图像中检测出边缘像素点;12)边缘像素点的筛选,基于不同的处理方法对多样的边缘线条进行处理,以确定像素点的保留或滤除;13)直线拟合操作,遍历目标图像中所有的线条,找到最合适的拼接线条,对直线进行拼接和拟合,以得到直线检测结果;14)重复直线的滤除,对这些高度平行且距离较近的直线进行规整,以滤除重复的直线。2.根据权利要求1所述的一种用于投影交互系统的直线检测方法,其特征在于,所述的边缘像素点的筛选包括以下步骤:21)单独线条的处理判断,针对单独线条使用连通域分析算法得到该线条连通域的最小外接矩形,若该最小外接矩形的长边大于长边阈值L1,且短边小于短边阈值L2,则认为该子线段为直线,将整个子线段都将作为直线的候选点进行保留;22)若干条线条发生粘连的处理判断,在若干条线条粘连的分叉点处将线条进行打断,对每个子线条进行分析,若发现某个线条属于直线,则作为候选点保留下来;若不是直线的子线条,则进行滤除;23)短连通域的处理判断,将连通域对应的最小外接矩形的长边小于长边阈值L1的定义为短连通域,将该线条上的所有点标记为二级候选点;24)曲线线条的处理判断,将外接矩形不符合尺寸上的要求且线条上也不包含直线子线条的线条定义为曲线线条,对曲线线条整个线条上的所有点均进行滤除。3.根据权利要求1所述的一种用于投影交互系统的直线检测方法,其特征在于,所述的直线拟合操作为遍历处理目标图像中所有的线条,其包括以下步骤:31)找到目标图像中最长的直线子线段,标记为Lmax;32)在Lmax周边的范围内,搜索其他的直线子线段,搜索条件如下:321)搜索两条直线子线段的方向夹角差小于10°的直线子线段;322)搜索两个端点的欧氏距离小于30个像素的直线子线段;323)搜索两条平行直线之间的距离小于10个像素的直线子线段;33)将仍未匹配的子线段集合定义为S1;对S1中的子线段进行遍历,按搜索条件进行搜索,并且计算匹配误差;匹配误差为用来拟合成直线的两个子线段上的所有的像素点到拟合结果的距离的总和;找到S1中匹配误差最小的子线段,记为Lmin;如果该误差小于2个像素,则将Lmax与Lmin融合为新的直线,标记为Lmax,并且更新记录,滤除Lmin的记录;如果误差大于2个像素,则不予考虑;34)遍历处理目标图像中所有的线条,直到所有直线子线段无法匹配为止。4.根据权利要求1所述的一种用于投影交互系统的直线检测方法,其特征在于,所述的重复直线的滤除包括以下步骤:41)找到长度最长的直线段,记为直线MAXl1;42)遍历余下的直线段,如果某条直线与直线MAXl平行且距离小于距离阈值L3,且重叠比例高于重叠阈值L4,则删除当前直线段;43)找到余下的直线中最长的直线段,记为MAXl2;44)重复42步骤和43步骤,直到所有的重复直线都被滤除。5.根据权利要求1所述的一种用于投影交互系统的直线检测方法,其特征在于,所述的...

【专利技术属性】
技术研发人员:邓宏平汪俊锋
申请(专利权)人:安徽慧视金瞳科技有限公司
类型:发明
国别省市:安徽;34

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

1