检测图像中的U形边缘

Fev*_*ver 5 c++ opencv image-processing pattern-matching edge-detection

我正试图从图像中检测指尖的位置.我已经能够在图像中裁剪出必须有指尖的区域,并使用Canny Edge Detector提取边缘.但是我被卡住了.由于我的项目描述说我无法使用肤色进行检测,因此无法找到手指的确切轮廓,并且必须尝试将指尖与边缘单独分开.现在我在想,因为手指有弧形拱形/字母U形,也许可以用于检测.但由于它必须是旋转/比例不变的,我到目前为止发现的大多数算法都不符合它.有没有人知道如何做到这一点?感谢任何响应的人! 在此输入图像描述

这是我现在的结果.我想在索引指尖或最高指尖周围放一个边界框,以最简单的方式.

len*_*310 2

您可以将 U 的尖端视为角点,并尝试角点检测方法,例如以亚像素精度定位角点的Foerstner 算法,以及在 opencv 的 feature2D 类中包含实现的Haris角点检测器。

我想与您分享关于 Haris 角点检测器的非常清晰且直接的讲座。