图像中简单基准点的位置识别

7

我不需要一个可行的解决方案,但我正在寻找能够给我一些有用提示/链接指引的人:

我有一张图像,其中包含一个基准标记(可以是十字形、点形或任何简单几何形状)。图像本身的光线方式可能不适合人眼观看,但基准标记的对比度非常好。接下来,我拥有这个基准标记的明确几何描述(向量数据格式)和其名义位置。

现在,我想让OpenCV在图像中找到基准标记,并返回它的实际当前位置(对于可能存在的旋转的基准标记还需返回旋转信息)。

如何使用OpenCV完成这项任务?我发现的教程总是使用像面部和图片之类的复杂模式,而不是针对基准标记检测进行优化,因此它们都使用非常复杂的学习/描述方法。

1个回答

10

根据您的参考点,可以使用不同的方法。一种非常常见的方法已经在OpenCV中实现了,那就是SIFT,它可以在图像中找到具有尺度不变性和鲁棒性的关键点。操作步骤如下:

  • 离线运行SIFT以生成要跟踪的关键点。

  • 实时运行SIFT(或者也可以使用FAST,它还可以生成SIFT描述符)来查找场景中的关键点。

  • 使用匹配器(例如FLANN matcher)来查找在图像中发现的关键点与参考点相对应的位置。

  • 对匹配的点运行findhomography()。从找到的3x3的单应矩阵H中,您可以获得相机姿态

还有其他方法,但这是我喜欢的一种,而且速度很快。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接