一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于轮廓的角点检测算法的制作方法

2022-02-18 22:59:50 来源:中国专利 TAG:


1.本发明涉及一种图像角点提取方法,可用于工业测量等方面。属于图像处理技术领域。


背景技术:

2.图像的角点是表征图像的一种重要特征,图像的角点检测(corner detection)作为工业现场中工件的自动检测等过程中很重要的一环,其提取角点的能力和速度会直接影响工业自动化检测的精度和效率。
3.现阶段的角点检测算法主要有基于灰度图像、二值图像和轮廓曲线的角点检测算法三类,而在轮廓曲线上进行角点提取时,因其计算量较少、检测的准确性较高,且工业检测在保证精度的同时对速度也有很大的要求,因此该类算法被广泛的应用在工业检测现场。
4.基于轮廓尖锐度的角点检测算法首先对轮廓曲线在最佳尺度下进行高斯平滑,然后通过轮廓线中心点两侧支撑区域夹角的近似计算提取角点,最后进行非极大值抑制获取最终角点,该算法能较好的检测角点并抑制伪角点,但高斯平滑使算法复杂并且使检测精度降低。
5.susan算法采用圆形模板检测图像的角点,直接通过对像素邻域灰度值进行比较即可判断出角点,优点是角点检测时不用计算梯度、不用插值且不依赖于前期图像预处理的结果,缺点是定位精度较差、对噪声敏感并且可能漏检角点。


技术实现要素:

6.本发明的目的在于针对现有方法的不足,提出一种基于轮廓的角点检测算法,提高角点检测的准确性。
7.本发明的技术方案:首先采用八邻域轮廓跟踪法对预处理后的图像进行轮廓提取;然后计算轮廓点的尖锐度,通过非极大值抑制得到候选角点;最后采用susan圆形模板和支撑区域自适应方法对候选角点进行优化。
8.本发明的方法通过以下几个步骤实现:(1)对图像预处理得到二值图像,将目标与背景分离;(2)采用八邻域轮廓跟踪法提取目标的轮廓;(3)计算轮廓上每个点的尖锐度,获取候选角点;(4)针对候选角点应用改进的susan模板二次遍历,去除边缘伪角点;(5)利用支撑区域自适应方法去除邻接伪角点。
9.与现有方法相比,本方法的优越性体现在:1.直接对二值图像使用八邻域轮廓跟踪法进行轮廓提取,定位准确;2.与传统的基于轮廓尖锐度的角点检测算法相比,本发明鲁棒性更好;3.与传统的susan角点检测算法相比,本发明速度更快,误检率更低;
4.算法实现简单,计算效率较高;5.可应用于工件尺寸测量、特征匹配以及识别定位等方面。
10.如上所述的方法,其特征在于,所述步骤2采用8邻域轮廓追踪算法直接对二值图像进行轮廓的提取,避免了轮廓出现断点的问题,精度更高、速度更快。
11.八邻域轮廓跟踪算法的主要步骤如下:step1:根据二值图像轮廓的性质,先对图像进行扫描寻找轮廓的起始边界点o并存储到容器中;step2:按照预先设定的跟踪方向(顺时针),以o点为中心进行八邻域搜索,定位到下一个像素点n;step3:检测n点是否与轮廓的起始边界点o重合,若不是,则存储n点并从n点开始重复执行step2,若是则停止搜索。
12.如上所述的方法,其特征在于,所述步骤3首先计算轮廓上各个点的尖锐度,主要是对轮廓上的任意一点,选取前后相邻的距离为两点作为支撑点,以该点为中心点、该点到支撑点为两边构成角,的角度计算公式为:则有,定义为该圆弧的尖锐度,越大,表明轮廓越尖锐,越小,表明轮廓越平缓。设定阈值,当值比大时,作为候选角点,再经过非极大值抑制进行筛选,得到较准确的候选角点。
13.如上所述的方法,其特征在于,所述步骤4采用如下的susan圆形模板去除边缘伪角点:实际检测时,角点即核心点一定在轮廓上,故usan的典型区域为三种情况:核心在轮廓的边缘上时, 核心点的usan区域为圆形模板的一半;当核心在角点上时, 核心点的usan区域为两种情况,一种为核心点在外角点上一种为核心点在轮廓内角点上。susan算法优化的主要步骤如下:1)在候选角点上放置一个具有37个像素大小的圆形模板,在预处理后的二值图像上,依次比较圆形模板内37个像素点的灰度值与候选角点的灰度值,设置阈值判断是否属于usan区域,判别函数如下:;2)统计圆形模板中和核心点有相似灰度值的像素个数,如下式所示:其中,是以为中心的圆形模板区域;
3)由于候选角点都在目标轮廓上,既有内角点也有外角点,故构建角点响应函数如下式,若某个候选角点的usan值小于某一特定阈值,或大于某一特定阈值则该候选角点被认为是角点, 。
14.如上所述的方法,其特征在于,所述步骤5利用支撑区域自适应方法去除邻接伪角点,由于在复杂的轮廓变化较快的部分,会有多个点被判定为候选角点,这些候选角点互相邻接,去除邻接伪角点的步骤如下:1)为保证最大程度的去邻接伪角点,首先确定邻接范围,选取,其中为支撑区域大小,为整数;2)遍历候选角点,对于每个候选角点在邻接范围由内到外搜寻邻接角点,搜索范围为,若有邻接角点,对比角点的尖锐度,若当前点的值最大,则保留该角点;3)再次遍历候选角点,对于每个候选角点在邻接范围由外内到外搜寻邻接角点,搜索范围为,若有邻接角点,则以该角点为支撑点,重新计算当前点的轮廓尖锐度,若新的值大于阈值,则保留该角点。
附图说明
15.图1为本发明八邻域轮廓跟踪示意图。
16.图2为本发明susan圆形模板示意图。
17.图3为本发明轮廓上susan典型区域示意图。
18.图4为本发明标准原始图像角点检测过程示意图。
19.图5为本发明工件原始图像角点检测过程示意图。
具体实施方式
20.为了更好地理解本发明的技术方案,以下结合附图和实施例,作进一步的详细描述。
21.采用本发明方法进行轮廓角点提取,具体按如下步骤进行。
22.1.对图像进行预处理首先对图像进行增强,然后滤波,最后二值化将目标与背景分割开来。
23.2.提取目标轮廓信息step1:根据二值图像轮廓的性质,先对图像进行扫描寻找轮廓的起始边界点o并存储
到容器中;step2:按照预先设定的跟踪方向(顺时针),以o点为中心进行八邻域搜索,定位到下一个像素点n;step3:检测n点是否与轮廓的起始边界点o重合,若不是,则存储n点并从n点开始重复执行step2,若是则停止搜索;图1为本发明八邻域轮廓跟踪示意图。
24.3.获取候选角点首先计算轮廓上各个点的尖锐度,主要是对轮廓上的任意一点,选取前后相邻的距离为两点作为支撑点,以该点为中心点、该点到支撑点为两边构成角,的角度计算公式为:则有,定义为该圆弧的尖锐度,越大,表明轮廓越尖锐,越小,表明轮廓越平缓。设定阈值,当值比大时,作为候选角点,再经过非极大值抑制进行筛选,得到较准确的候选角点。
25.4.获取真实角点采用如下的susan圆形模板去除边缘伪角点:实际检测时,角点即核心点一定在轮廓上,故usan的典型区域为三种情况:核心在轮廓的边缘上时, 核心点的usan区域为圆形模板的一半;当核心在角点上时, 核心点的usan区域为两种情况,一种为核心点在外角点上一种为核心点在轮廓内角点上,图2为本发明susan圆形模板示意图,图3为本发明轮廓上susan典型区域示意图。
26.susan算法优化的主要步骤如下:1)在候选角点上放置一个具有37个像素大小的圆形模板,在预处理后的二值图像上,依次比较圆形模板内37个像素点的灰度值与候选角点的灰度值,设置阈值判断是否属于usan区域,判别函数如下:;2)统计圆形模板中和核心点有相似灰度值的像素个数,如下式所示:其中,是以为中心的圆形模板区域;3)由于候选角点都在目标轮廓上,既有内角点也有外角点,故构建角点响应函数如下式,若某个候选角点的usan值小于某一特定阈值,或大于某一特定阈值则该候选
角点被认为是角点, 。
27.如上所述的方法,其特征在于,所述步骤5利用支撑区域自适应方法去除邻接伪角点,由于在复杂的轮廓变化较快的部分,会有多个点被判定为候选角点,这些候选角点互相邻接,去除邻接伪角点的步骤如下:1)为保证最大程度的去邻接伪角点,首先确定邻接范围,选取,其中为支撑区域大小,为整数;2)遍历候选角点,对于每个候选角点在邻接范围由内到外搜寻邻接角点,搜索范围为,若有邻接角点,对比角点的尖锐度,若当前点的值最大,则保留该角点;3)再次遍历候选角点,对于每个候选角点在邻接范围由外内到外搜寻邻接角点,搜索范围为,若有邻接角点,则以该角点为支撑点,重新计算当前点的轮廓尖锐度,若新的值大于阈值,则保留该角点。
28.通过以上步骤最终获得图像轮廓上的真实角点,图4为本发明标准原始图像角点检测过程示意图,图5为本发明工件原始图像角点检测过程示意图。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献