LabVIEW角点检测(基础篇—10)

简介: LabVIEW角点检测(基础篇—10)

目录

1、角点检测概念


2、角点检测流程


3、角点检测实践


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


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


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


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


1、角点检测概念

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


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


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

image.png

2、角点检测流程

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


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


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

image.png

3、角点检测实践

Nl Vision使用位于LabVIEW的视觉与运动→Machine Vision→Feature

Correspondence函数选板中的IMAQ Corner Detector和IMAQ FAST Feature PointDetector封装角点检测过程,返回从矩形ROI中检测到的角点坐标和强度。

image.png

其中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),对两幅图像中的角点进行匹配关联。

程序设计如下所示:

image.png

程序运行效果如下所示:

image.png

资源下载请参见: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个以上的匹配角点,可求得关联两幅图像的单应性矩阵,进而基于此矩阵,就能确定模板图像的位置。


相关文章
|
2天前
|
算法 计算机视觉
LabVIEW开发3D颈动脉图像边缘检测
LabVIEW开发3D颈动脉图像边缘检测
|
2天前
|
算法 安全 编译器
LabVIEW使用边缘检测技术实现彩色图像隐写术
LabVIEW使用边缘检测技术实现彩色图像隐写术
|
3天前
|
算法 数据可视化 计算机视觉
LabVIEW开发X射线图像增强
LabVIEW开发X射线图像增强
|
5月前
|
算法 计算机视觉
OpenCV中使用加速鲁棒特征检测SURF与图像降噪讲解与实战(附源码)
OpenCV中使用加速鲁棒特征检测SURF与图像降噪讲解与实战(附源码)
40 0
|
9月前
|
机器学习/深度学习 人工智能 算法
手把手教你使用LabVIEW人工智能视觉工具包快速实现Harris角点检测(含源码)
手把手教你使用LabVIEW人工智能视觉工具包快速实现Harris角点检测(含源码)
109 0
|
9月前
|
人工智能 编解码 算法
使用LabVIEW AI视觉工具包快速实现霍夫圆和霍夫直线检测(含源码)
使用LabVIEW AI视觉工具包快速实现霍夫圆和霍夫直线检测(含源码)
136 0
|
9月前
|
编解码 计算机视觉
【OpenCV图像处理9】图像金字塔
【OpenCV图像处理9】图像金字塔
74 0
|
算法 计算机视觉
砥砺的前行|基于labview的机器视觉图像处理|NI Vision Assisant(六)——Binary(二值图) 功能
砥砺的前行|基于labview的机器视觉图像处理|NI Vision Assisant(六)——Binary(二值图) 功能
465 0
砥砺的前行|基于labview的机器视觉图像处理|NI Vision Assisant(六)——Binary(二值图) 功能
|
算法 图形学
计算机图形学——实验五 基本图形学算法及着色器初步编程
实验五 基本图形学算法及着色器初步编程 1、 理解基本图形元素光栅化的基本原理,理解直线裁剪算法的原理; 2、 掌握直线的光栅化算法:DDA和Bresenham算法; 3、 掌握直线裁剪算法:Cohen-Surtherland算法; 1、 编程实现DDA算法和Bresenham算法生成直线。 2、 实现Cohen-Surtherland直线裁剪算法,调试、编译、修改程序。 要求: 根据所给的直线光栅化的示范源程序,在计算机上编译运行,输出正确结果(示范代码有错误,指出并改正)。
252 0
计算机图形学——实验五 基本图形学算法及着色器初步编程
|
编解码 算法 计算机视觉