【问题标题】:Good features to compare an image with a capture of this image将图像与该图像的捕获进行比较的良好功能
【发布时间】:2015-06-17 07:54:31
【问题描述】:

我想捕获一帧并将所有帧存储在数据库中。该帧是手机抓取的,而数据库是原始的。考虑到它们的分辨率、颜色和亮度等不同,我大部分时间都在搜索以找到一种比较它们的好方法。有人知道吗?

我已经完成了捕获帧的预处理步骤,使其尽可能地忠实于使用 C++ 和 OpenCV 库的原始帧。但是,我不知道什么是比较它们的好功能。

任何评论都会很有帮助,谢谢!

编辑:我实现了一种算法,该算法比较了调整为 160x90 的两个图像之间的差异,灰度和量化。结果如下:

图像差异的平均值是13。但是,如果我使用两个完全不同的图像,图像差异的平均值是20。所以,我不知道这个度量是否可以按顺序改进为匹配有更好的余量。

提前感谢您的帮助。

【问题讨论】:

    标签: opencv image-processing feature-detection feature-extraction descriptor


    【解决方案1】:

    将颜色深度从每像素 24 位(或其他)减少到每像素 8 或 16 位。您可以为此使用色调分离功能。然后将两个图像调整为小尺寸(可能是 16x16 或 100x100,具体取决于您的图像),然后进行比较。这应该非常接近地匹配相似的图像。它不会考虑图像中物体的不同旋转和位置。

    【讨论】:

    • 好的。我会做的,但这似乎是个好主意。您认为大型数据库就足够了吗?谢谢!
    • 您可能需要调整图像大小和颜色深度才能获得您想要的效果。它可能会错过一些边缘案例。如果这不可接受,您可以使用稍微不同的颜色深度和大小再次运行它来捕捉这些。
    • 我已经实现了执行您建议的算法,现在问题已更新为结果。如果您能阅读并告诉我您的想法,我会很高兴。谢谢!
    • 您可以使用更大的像素和更少的颜色在相似图像上获得更接近的匹配。然后,您可以使用稍微多一点的像素和/或更多颜色来排除误报。此外,如果有颜色,最好使用彩色而不是灰度。
    • 您好,很抱歉这么晚才回复。我现在正在处理颜色值,但我删除了量化,因为它为图像添加了锯齿(但也许可以添加一些过滤器来避免它。你怎么看?谢谢!
    猜你喜欢
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2019-04-16
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    相关资源
    最近更新 更多