基本上我想在大图像中找到小图像的像素位置。 我搜索过类似的东西,但没有运气。
答案 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搜索听起来像是一个解决方案。比每像素搜索快得多。