在《怎么从已知图片里面找到目标图片?》里面介绍了一种模版匹配的算法,效率不算好。本文介绍另一种方法,来实现快速的模版匹配。下面的大图,是原图 i。小图是从大图里面截出的一部分,也就是待匹配的模版 j。1怎么从已知图片里面找到目标图片?
工具/原料
1
电脑
2
Mathematica
方法/步骤
1
分别把i和j栅格化、二值化。a = i // Rasterize // Binarize;b = j // Rasterize // Binarize;
2
用归一化平方欧式距离,来寻找a与b的内在联系:x = ImageCorrelate[a, b, NormalizedSquaredEuclideanDistance]
3
把图像x二值化,并反色处理:y = 1 - Binarize[x, 0.23]注意看里面有一个小白点。
4
对y进行膨胀处理:z = Dilation[y, Table[1, ImageDimensions[b][[2]], ImageDimensions[b][[1]]]]膨胀后的白色区域,与b位于a的位置差不多。
5
在原图i里面,标注出j。HighlightImage[i, {Blue, z}]
注意事项
这个算法简单,而且运行速度较快。
上一篇:感冒后吃什么好的快?
下一篇:孩子不能喝甜饮料的原因