SIFT在OpenCV的参考图像中找不到任何特征

deyfvvtc  于 8个月前  发布在  其他
关注(0)|答案(3)|浏览(64)

我有一个目标标志的图像,我试图用它来寻找其他图像中的目标标志。我目前正在运行两种不同的检测算法来帮助我检测图像上的任何标志。我使用的第一种检测算法是基于直方图的,我在屏幕上搜索颜色非常相似的图像。从那里我运行SIFT来进一步获得我要寻找的对象。这适用于大多数标志,但目标标志,我甚至没有拿起和关键点的标志。
我想知道是否有什么我可以做的,以帮助定位图像中的一些关键点。任何建议都非常感谢。
下面是SIFT没有拾取的图像:

先谢了。

编辑我尝试使用Julien的想法,根据模型的不同比例和旋转进行模板匹配,但仍然没有得到什么结果。我已经包含了一张我试图测试的图像。

9o685dep

9o685dep1#

您的图像中没有关键点...
为什么?为什么?

  • 因为在统一的颜色平面中没有关键点(为什么会有?因为它是统一的,没有什么是突出显示)
  • 因为图像中的所有东西都是对称的,所以关键点并没有什么帮助,根据某些特征提取器,它们将具有相同的特征向量
  • 因为在交叉方向上没有角点或高梯度,这将导致许多特征检测器的关键点

你可以尝试的是一个模板匹配方法,如果你正在寻找这个标志没有大的变化(旋转,平移,噪音等)一个简单的相关性是最简单的。
如果你想走得更远,我的想法之一,我从来没有实施,但这可能是有趣的:将有一组这样的图像,你可以缩放,旋转,扭曲,去饱和,用函数增加噪声,然后将模板匹配应用于你从以前的模板中得到的这组图像.这个想法来自SIFT和小波变换,在这里,我们使用了一些函数,我们以某种方式改变(旋转,噪声,频率等.),以便给予我们的变换鲁棒性,以对抗任何你想要“检查”的图像中发生的这些基本变化。这可能是你的想法!

这里是一个图像总结我的想法,你旋转和缩放你的模板,实际上它创建了一个新的旋转/缩放模板,你可以尝试匹配,它将增加鲁棒性(即使它可以很长,如果你选择了很多参数来改变)。好吧,我不是说这是一个算法,但它可能是一个有趣的和非常基本的想法来尝试.
朱利安

9rbhqvlz

9rbhqvlz2#

还有另一个原因,这个标志是有问题的特征匹配。大多数功能与人工图像,没有任何平滑工作相当糟糕。所有的衍生品是完全1像素大小和功能检测器依赖于衍生品。你必须平滑图像一点。Ofcorse对于这个特定的标志,它不会帮助,由于高度对称。你可以使用霍夫变换来检测圆内圆。这将与模板匹配相比,给予更好的结果。

相关问题