【发布时间】:2015-06-07 05:17:10
【问题描述】:
我有一些带有图像的磁铁。只有一小部分不同的图像(比如说 20 张图像),它们将在固定的棋盘中对齐(图片中仍然没有显示)。
我已经有一种算法可以从板上提取每张磁卡,对原始图像应用透视变换以防止透视失真。
我想听听您的建议,以便检测板上的每个图像,我的意思是,检测磁铁是否是:熊猫、兔子、狗、胡萝卜……因为我的主要目标是分析图像并提取包含所有棋盘元素的矩阵。
我的第一次尝试非常基础:根据平均颜色猜测图像。它不是很健壮,因为有几张图像的平均颜色相似(特别是那些冻结的卡片),而且浅色会改变很多颜色。
您能指点我正确的方向来提取包含板上所有图像的矩阵吗?我不需要具体的实现,而是需要我应该遵循的步骤的概念或应用于主图像的技术,以获得稳健(而不是太复杂)的算法。
我将使用 OpenCV 来实现它,但我想使用任何其他计算机视觉库都是一样的。
非常感谢您的宝贵时间!
【问题讨论】:
-
您可以尝试一个简单的相似性度量作为 PSNR(已在 OpenCV 中实现)。然而,这是一种非常简单的方法。另一种选择是 SSIM(结构相似性索引图),但在 OpenCV 中没有实现。对于更高级的特征匹配,您可以尝试 OpenCV 的 SIFT 或 SURF。 docs.opencv.org/modules/nonfree/doc/feature_detection.html
-
也许 FLANN 特征匹配器更适合您的目的:docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/…
-
这里你可以找到 OpenCV 中特征检测器的通用接口:docs.opencv.org/modules/features2d/doc/…
-
谢谢你们,看来我还有很多东西要研究 :-) 至少现在我知道我应该先读什么了!
标签: image opencv image-processing computer-vision