zoukankan      html  css  js  c++  java
  • 图像角点检测

    图像角点检测

    一.关于角点的具体描述可以有几种:

    (1)、一阶导数(即灰度的梯度)的局部最大所对应的像素点; 

    (2)、两条及两条以上边缘的交点; 

    (3)、图像中梯度值和梯度方向的变化速率都很高的点; 

    (4)、角点处的一阶导数最大,二阶导数为零,指示物体边缘变化不连续的方向。

    二.近年来提出的角点检测方法大多是基于灰度图像的角点检测。主要分三类:

    (1)基于边缘特征的角点检测。主要分三个步骤:首先,对图像进行预分割;然后对预分割后得到的图像中边界轮廓点进行顺序编码,得到边缘轮廓链码;最后,根据边缘轮廓链码对图像中的角点进行描述和提取。Wallg和Braday提出了一种基于表面曲率的角点检测算法。为了改善角点检测的稳定性,首先将图像和高斯滤波器卷积,然后计算整个图像的表面曲率,当曲率高于一定阈值,并为局部最大值的点被认为是候选角点。

    (2)基于模板的角点检测。一般首先建立一系列具有不同角度的角点模板,然后在一定的窗口内比较待测图像与标准模板之间的相似程度,以此来检测图像中的角点。基于模板的方法主要考虑像素邻域点的灰度变化,即图像亮度的变化,将与邻点亮度对比足够大的点定义为角点。首先设计一系列角点模板,然后计算模板与所有图像子窗口的相似性,以相似性判断在子窗口中心的像素是否为角点。

    (3)基于亮度变化的角点检测。该算法基于角点相应函数(CRF)对每个像素基于其模板邻域的图像灰度计算CRF值,如果大于某一阈值且为局部极大值,则认为该点为角点。

    当然,角点的检测算法非常之多,仅基于模板的角点检测算法就有Kitchen-Rosenfeld角点检测算法、Harris角点检测算法、KLT角点检测算法及SUSAN角点检测算法等,在此不再一一展开介绍。

     

     三.角点分类

    一般位于两条以上的交点上,五种类型如上图所示:分别为L型、Y型、T型、X型和箭头型。现有的角点检测算法并不是都十分的鲁棒。很多方法都要求有大量的训练集和冗余数据来防止或减少错误特征的出现。角点检测方法的一个很重要的评价标准是其对多幅图像中相同或相似特征的检测能力,并且能够应对光照变化、图像旋转等图像变化。不同的检测方法对角点有不同的意义。

    四.角点检测方法需要满足如下标准:

     1)所有真实的角点都被发现到;

     2)没有虚假的角点被当作角点检测出来;

     3)角点在图像中的定位精确;

     4)角点检测器必须对噪声有鲁棒性;

     5)角点检测算子的效率应该是高效的。

  • 相关阅读:
    01、python数据分析与机器学习实战——python数据分析处理库Pandas
    01、python数据分析与机器学习实战——python数据分析处理库Pandas
    01、python数据分析与机器学习实战——python数据分析处理库Pandas
    从显示一张图片开始学习OpenGL ES
    从显示一张图片开始学习OpenGL ES
    C#中【pdb】文件
    C#中【pdb】文件
    SQLServer 中的存储过程中判断临时表是否存在,存在则删除临时表
    SQLServer 中的存储过程中判断临时表是否存在,存在则删除临时表
    C# 网络编程之webBrowser乱码问题及解决知识
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/12859833.html
Copyright © 2011-2022 走看看