LabVIEW角点检测

Posted 不脱发的程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LabVIEW角点检测相关的知识,希望对你有一定的参考价值。

目录

1、角点检测概念

2、角点检测流程

3、角点检测实践


图像的特征是图像的原始特性或属性,它包含图像中的关键信息,是机器视觉算法工作的基础。

图像的灰度、边缘、轮廓、纹理、色彩和颗粒属性等都可作为图像的特征,它们均从某一维度对图像中的目标关键属性进行描述。然而,在实际工作中,有时需要寻找一种可以对图像的各个局部都能进行抽象描述的特征。

例如,若要在图像存在透视畸变且被测目标会发生旋转和缩放的情况下,对图像中多个关键部分进行关联拼接,然后再进行目标识别或匹配,此时就需要使用一种可以对旋转、缩放和畸变均保持不变的局部特征。

角点(Corner Point)是解决这类问题的一种理想选择。

1、角点检测概念

图像中的兴趣点(又称为关键点、特征点)是在图像中容易检测且具有代表意义的点。基于这些点,可以进行目标识别、图像匹配和缺陷检测等。角点是图像中最基本的一种兴趣点,它可定义为图像中两个边缘的交点,或目标轮廓线上曲率的局部极大点。角点特征具有计算量少,匹配简单以及旋转、平移、放缩不变性等特点,因此在图像配准与匹配、目标识别、运动分析、目标跟踪等应用领域都起着非常重要的作用。

图像在角点处不仅梯度的数值大,而且梯度方向的变化速率也很大。也就是说,角点显示了图像在二维空间内灰度变化剧烈的位置,它和周围邻点有着明显差异。

例如,下图中,当小窗口位置在任意方向上发生变化时,含有角点的窗口的灰度就会有明显变化。因此可以通过计算图像中的角点获知图像各个局部的信息,从而实现对图像的一种抽象描述。而基于该抽象描述,即可进行图像的匹配及识别等工作。

2、角点检测流程

以角点为特征的机器视觉应用一般涉及角点检测、角点描述和角点匹配3个过程。

角点检测过程使用Harris、Shi-Tomasi或FAST等算法来确定图像中的角点。角点描述过程使用BRISK (Binary Robust Invariant Scalable Keypoints)或FREAK (FastRetina Keypoint)方法,基于检测到的角点生成以二值方式编码的特征向量。而角点匹配过程则计算两幅图像二值特征向量之间的汉明距离,并依据距离的大小来判断其是否匹配。

图14-57对常用的角点检测、描述及匹配方法进行了汇总。

3、角点检测实践

Nl Vision使用位于LabVIEW的视觉与运动→Machine Vision→Feature
Correspondence函数选板中的IMAQ Corner Detector和IMAQ FAST Feature PointDetector
封装角点检测过程,返回从矩形ROI中检测到的角点坐标和强度。

其中IMAQ Corner Detector封装了Harris和Shi-Tomasi角点检测算法,且支持在图像不同的金字塔图层进行多尺度检测。换句话说,在进行角点检测时,它不仅能对光照和旋转变化保持不变性,还能通过多尺度的近似方法对图像的缩放变化保持不变性。

lMAQ FAST Feature Point Detector封装了FAST检测算法,它以像素为中心,取距其半径为3的圆环上的16个点,若其中有连续的12个点的灰度与像素的灰度差超过输入参数Min Feature Point Strength设定的阈值,就将像素标记为角点。VI对于光照、旋转和尺度变化保持不变,但是当图像中噪点较多时,FAST健壮性较差,而且算法的效果也依赖于阈值的选取。

通过使用角点特征进行图像匹配的实例,了解角点算法的应用,程序设计思路如下所示:

  • 程序首先为模板图像和待检测图像分配缓冲区,并将它们分别读入内存;
  • 随后调用IMAQ FAST Feature PointDetector,基于FAST算法分别检测两幅图像中的角点,并由IMAQ Feature PointDescriptor以FREAK算法对角点信息进行二进制描述;
  • 这样一来,从图像中检测到的各个角点特征都可以由一个二进制的角点特征字符串表示;
  • IMAQ Match Feature Points能通过计算各个角点特征字符串之间的汉明距离,在设定的最大可接受距离范围内(本例为32),对两幅图像中的角点进行匹配关联。

程序设计如下所示:

程序运行效果如下所示:

资源下载请参见:https://download.csdn.net/download/m0_38106923/20358434

IMAQ Match Feature Points还能基于在两幅图像中匹配到的角点坐标,返回它们之间的单应性矩阵(Homography Matrix)。在机器视觉领域中,若成像系统可抽象为针孔比如,通过旋相机,则空间中同一平面内的任意两幅图像就可由单应性矩阵进行关联。比如,通过旋转相机镜头可获取某一个物体的两张不同图像,这两张图像的内容不可能只有部分对应。

若存在一个二维的3×3矩阵,与其中一幅图像相乘可得到第二幅图像,则该矩阵就称为两幅图像的单应性矩阵。单应性矩阵可以通过两幅图像中对应的4个特征点来计算,一旦得到单应性矩阵,就可以在已知原图像中关键特征点坐标时,计算得到其在匹配图像中的坐标位置。如上述例子所示,程序使用IMAQ Match FeaturePoints计算得到的单应性矩阵,在检测图像中标出所匹配到的目标范围。

角点是图像中一种特殊的特征点,基于角点进行图像检测和匹配,能在较难找到图像特征的情况下,创建图像拼接或图像匹配应用。常见的角点检测方法有Harris、Shi-Tomasi和FAST等。计算两幅图像角点特征向量之间的汉明距离即可完成角点的匹配。基于4个以上的匹配角点,可求得关联两幅图像的单应性矩阵,进而基于此矩阵,就能确定模板图像的位置。

以上是关于LabVIEW角点检测的主要内容,如果未能解决你的问题,请参考以下文章

Harris角点及Shi-Tomasi角点检测(转)

图像角点检测

图像角点检测

opencv亚像素级角点检测

OpenCV角点检测源代码分析(Harris和ShiTomasi角点)

opencv-角点检测之Harris角点检测