使用哪些特征描述符以及为什么?

Which feature descriptors to use and why?

我很喜欢计算民用飞机驾驶舱中相机的位置和方向。

我确实使用 LED 作为固定点。我的计划是保存与 LED 关联的 X、Y、Z 位置。

如何检测和识别图像上的 LED?我应该使用哪个特征描述符和特征点提取器?

我应该如何在特征检测之前修改我的图像?

我喜欢保持高效。

----请停止对这个问题投反对票---- 现在,在找到问题的解决方案之后,我确实意识到这个问题可能过于笼统。 无论如何,为了支持其他人使用谷歌搜索,我将描述我的答案。

结合 OpenCVs 函数,我创建了包含 LED 可能为白色的区域的蒙版。图像的其余部分是黑色的。这些函数例如是 Core.range、Imgproc.dilate 和 Imgproc.erode。另外 Imgproc.findcontours 我正在过滤掉太大或太小的轮廓。也用于组合掩码的是 Core.bitwise_and,或 Core.bitwise_not。 掩码是根据 HSV 颜色 space 作为输入的图像计算得出的。

有了这些具有潜在 LED 区域的蒙版,我计算了颜色直方图,哪些强度归一化了 rgb 颜色。 (色调对我来说效果不够好)。这些直方图使用一组带注释的输入图像进行训练和标准化,并代表我的描述符。

我使用直方图交集将经过训练的描述符与应用程序中的计算一次进行匹配。

所以我收到了距离测量值。使用这些测量的阈值、测量和现实生活中 LED 几何位置的知识,我将补丁转换为图形系统,这有助于我找到最长的潜在 LED 链。