在较大的图像中查找图像位置

时间:2010-05-03 18:10:51

标签: c# image-recognition

基本上我想在大图像中找到小图像的像素位置。 我搜索过类似的东西,但没有运气。

4 个答案:

答案 0 :(得分:1)

这取决于您希望结果与查询图像匹配的相似程度。如果您尝试匹配不同照片级真实感图像的相应部分,请查看Feature detection维基百科页面。您想要使用的内容取决于您希望一张图像成为另一幅图像的转换。

也就是说,如果您正在寻找精确的逐像素匹配,那么蛮力搜索可能很糟糕。对于用于在O(m^2*n^2)图片中进行搜索的m*m图片,可以是n*n。使用更好的算法,它可以改进到O(n^2),像素数是线性的。对两种图像进行下采样并进行分层搜索可能是一种很好的方法。

答案 1 :(得分:0)

您可以使用AForge Framework来执行此类操作。它提供各种图像处理工具。可能你可以使用他们的blob提取来提取blob,然后将这些blob与你拥有的存储图像进行比较,看看它们是否匹配。

答案 2 :(得分:0)

如果图像逐像素相等,则可以首先搜索与小图像中像素(0,0)颜色相同的一个像素。找到后,比较小图像覆盖的区域中的每个像素。如果没有差异,你找到了自己的位置。否则,通过搜索下一个像素匹配(0,0)来重新开始。

答案 3 :(得分:0)

如果您将像素视为字符并且正在寻找完全匹配,则

Booyer-Moore搜索听起来像是一个解决方案。比每像素搜索快得多。