image - 请告诉我有关此计算机视觉任务的信息

标签 image opencv image-processing computer-vision

我有一些带有图像的磁铁。只有一小部分不同的图像(比如说 20 张图像),它们将在固定的棋盘中对齐(图中仍未显示)。

computer vision board game yum yum yummy

我已经有一种算法可以从板上提取每张磁卡,对原始图像应用透视变换以防止透视失真。

我想听听您的建议,以便检测板上的每个图像,我的意思是,检测磁铁是否是: Pandas 、兔子、狗、胡萝卜……因为我的主要目标是分析图像并提取包含所有棋盘元素的矩阵。

我的第一次尝试非常基础:根据平均颜色猜测图像。它不是很健壮,因为有几张图像具有相似的平均颜色(特别是那些卡住的卡片),并且浅色调可以改变很多颜色。

您能指点我正确的方向来提取包含板上所有图像的矩阵吗?我不需要特定的实现,而是需要我应该遵循的步骤的概念或应用于主图像的技术,以获得稳健(而不是太复杂)的算法。

我将使用 OpenCV 来实现它,但我想使用任何其他计算机视觉库都是一样的。

非常感谢您的时间!

最佳答案

虽然 SIFT 或其他特征检测器运行良好且应用广泛,但我总是从最简单的可行方法开始:在您的情况下,可能是 template matching .毕竟,您已经完成了消除透视失真、旋转和不同比例的艰苦工作。

基本思想是获取 20 个模板图像中的每一个,并将其与搜索图像中的每个可能位置进行比较。由于卷积定理,这是一个相对便宜的操作。

关于image - 请告诉我有关此计算机视觉任务的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29409769/

相关文章:

c++ - OpenCV、Dlib - Mat 对象输出为黑色图像

python - 找不到满足opencv-python要求的版本

python - 调整扫描线填充以检测离散对象

python - 无法使用opencv使用霍夫变换定位线

iphone - NSData -> UIImage -> NSData

Java淡入淡出图像

python - 无法识别人眼图像中的虹膜区域

java - 如何将 RenderedImage 序列化和反序列化为文本字符串?

javascript - 如何像 Facebook 一样快速地显示图片?

java - OpenCv 图像转换