图像中重复模式的识别

3

考虑一个由重复的尺寸不同且未知拓扑结构的图案组成的图像(如下所示)一个由不同瓷砖图案组成的图像。请注意,这里有4个图案,因为具有相同拓扑结构的图像被归类到同一类别中。

我们如何找到重复的图案(以及它们的位置)?


一些澄清的问题: 我们有模式的最小尺寸吗?在您的示例中,算法可能会找到非常小的对角线。 - pixelpax
一些澄清的问题:我们有一个模式的最小尺寸吗?在您的示例中,算法可能会发现遍布整个图像的微不足道的对角线。如果模式A是模式B的缩小版本,那么A应该匹配B吗?如果是这样,两个轴上会有相等的缩放吗?在这张图片中有几个重复的模式,算法应该返回N组匹配吗? - pixelpax
我们没有最小模式大小限制。如果A和B是彼此缩放的版本,则可以将它们分类为不同的内容。是的,返回多个(N)组匹配。 - Adi279
2个回答

1
我建议您查看SIFT和RANSAC算法,这可能不完全符合您的需求,但会指导您朝正确的方向发展。这个问题的难点在于您事先不知道要寻找哪些特征,因此需要一些监督算法来帮助您猜测。
开源实现: https://robwhess.github.io/opensift/ 维基百科有一些好链接,以及类似算法的描述。

你对使用Gabor滤波器的有效性和正确性有什么想法吗?链接 - Adi279

1
一种简单的方法是计算图像的自相关性。通过这种方式,至少可以识别出具有相同大小的块。
更详细的方法在this post中解释。首先,您需要将大图像细分为小图像。

你能提供一些细节吗?我在图像处理方面没有太多背景知识。任何链接都会很有用。 - Adi279
基本上,这是一个信号(即图像)与其自身进行二维交叉相关的过程。Matlab有一个函数和一个不错的文档可以处理此过程。好处是,通过使用FFT可以非常高效地计算此任务。 - yar
在进行分析之前,我应该了解我要搜索的模式。就我的情况而言,我只是给定了图像,并需要在图像中找到这些模式。 - Adi279
不,您无需了解要搜索的模式。可以对图像进行完全自相关,也可以将图像细分为小块,并将它们与完整图像进行互相关。 - yar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接