• 角点检测概述


    角点广义定义:

    不同方向线条的交点。如下图:
    不同类型的角点

    数字图像中角点定义:

    • 像素点附近区域像素无论是在梯度方向,还是在梯度幅值上都发生较大变化
    • 一阶导数(灰度图像的梯度)的局部最大所对应的像素点
    • 两条及两条以上边缘的交点
    • 图像中梯度值和梯度方向变化速率都很高的像素点
    • 角点处一阶导数最大、二阶导数为0,指示物体边缘变化不连续的方向

    检测角点的意义:

    角点是图像中的重要特征,对帮助人们理解、分析图像有重要的作用。角点在保留图像重要特征的同时,可以有效地减少信息的数据量。使信息含量变高,有效地提高了计算的速度,使得实时处理图像的可靠匹配成为可能。对于同一场景,视角发生改变,角点通常是不变的,具有稳定性。
    角点检测(corner detection)是计算机视觉系统中获得图像特征的一种方法,由于角点检测的实时性和稳定性,所以角点检测广泛应用于运动检测、图像匹配、视频跟踪、三维建模和目标识别等领域。角点作为一种特征点,角点检测也被称为特征点检测。
    大多数角点检测方法检测的是具有特定特征的图像点,不仅仅是“角点”。这些特征在图像中具有具体的坐标,并具有某些数学特征,如局部最小或最大。我们可以利用检测出的这些点,实现我们想要的操作。

    传统的角点检测方法们:

    • Moravec 角点检测算法
    • Harris 角点检测算法
    • Shi-Tomasi 角点检测算法
    • FAST 角点检测算法
    • Forstner 角点检测算法

    角点检测难点:

    现存的角点检测方法都不是十分鲁棒。

    角点检测评价指标:

    • 对多幅图像中相同或相似特征的检测能力
    • 对同一图像不同分辨率图像的检测能力
    • 对光照变化的鲁棒性
    • 对图像旋转的鲁棒性
    • 检测速度

    Harris算法角点检测思路:

    角点检测算法的基本思想是使用一个固定窗口(某像素的领域窗口)在图像上进行任意方向的滑动。比较滑动前与滑动后,窗口中像素灰度的变化程度。如果存在任意方向上的滑动,前后有着较大灰度变化,我们可以认为窗口中存在角点。如下图所示:
    滑动窗口检测角点演示

    • 左图:窗口在平坦的地点移动,移动前后图像灰度值没有变化
    • 中图:沿着边缘方向移动窗口,移动前后图像灰度值变化不大
    • 右图:沿着任意方向移动窗口,移动前后图像灰度值变化很大
  • 相关阅读:
    rails采用MongoDB感觉相当不错!
    LWC: 将VF页面显示在LWC中
    Salesforce: System.TypeException: Invalid integer: 2185340704
    Salesforce: Report没有权限访问
    Maven Archetype 多 Module 自定义代码脚手架
    2021年度总结
    [转摘]Lucene学习总结之一:全文检索的基本原理
    DataTable.Rows.Remove(row) 与 DataTable.Rows[i].Delete()区别
    Lucene.net根据Sort走到了不同的类处理
    调用腾讯QQ天气预报的JS代码
  • 原文地址:https://www.cnblogs.com/wojianxin/p/12576256.html
Copyright © 2020-2023  润新知