在大图片中查找小图片的快速算法?

Mil*_*ike 16 .net algorithm image image-processing

什么是检查小图片是否在大图片内的最佳(最快)方法?

(缩放图片:)

在此输入图像描述 想要找到: 在此输入图像描述

我有一个解决方案,但它很慢:

  • 我遍历大图中的每个像素(x,y)并比较小图片的像素(0,0)(颜色值).
  • 如果像素是相同的,我迭代小图片并将其与较大的图片进行比较..如果它失败,它会回到大图片扫描循环..

这种方法需要~7秒才能在1600x1200照片上找到50x50的照片.

也许你知道一个更好的算法?我知道一个软件可以在一秒钟内完成.

Aas*_*set 6

可以使用数学运算卷积(可以使用快速傅里叶变换有效地实现).

  • @O_O:我对细节有点生疏,因为我已经做了这些事情已经有一段时间了,但是:卷积操作(无论它如何实现)将两个图像作为输入并生成一个新图像位置_(x,y)_的亮度表示如果第二张图像的角落放在第一张图像上的_(x,y)_处,图像的匹配程度.因此,您可以简单地找到最亮的像素,这将告诉您需要多少移动图像. (3认同)