基本上我想在大图像中找到小图像的像素位置。我已经搜索过类似的东西,但没有运气。
问问题
2198 次
4 回答
1
这取决于您希望结果与查询图像匹配的相似程度。如果您尝试匹配不同照片级图像的相应部分,请查看特征检测Wikipedia 页面。你想使用什么取决于你期望一个图像变成另一个图像所经历的转换。
也就是说,如果您正在寻找精确的逐像素匹配,那么蛮力搜索可能会很糟糕。这可以是O(m^2*n^2)
用于在m*m
图像中搜索的n*n
图像。使用更好的算法,它可以改进为O(n^2)
,在像素数上是线性的。对两个图像进行下采样并进行分层搜索可能是一个好方法。
于 2010-05-03T19:16:36.707 回答
0
您可能可以使用AForge 框架来做这样的事情。它提供了多种图像处理工具。可能您可以使用他们的 blob 提取来提取 blob,然后将这些 blob 与您拥有的存储图像进行比较,看看它们是否匹配。
于 2010-05-03T18:18:12.180 回答
0
如果图像是逐像素相等的,您可以首先在小图像中搜索一个与像素 (0,0) 具有相同颜色的像素。找到后,比较小图像将覆盖的区域中的每个像素。如果没有差异,您就找到了自己的位置。否则通过搜索下一个像素匹配 (0,0) 重新开始。
于 2010-05-03T18:18:32.910 回答
0
如果您将像素视为字符并正在寻找精确匹配,那么Booyer-Moore搜索在这里听起来像是一个解决方案。也比每像素搜索快得多。
于 2010-05-03T18:26:53.237 回答