来自match_template的相关值

时间:2014-03-14 09:22:57

标签: python image

我正在编写一个脚本,用于在更大的图像中定位图像剪切的位置(类似于here所述的问题)。为此,我使用match_templateskimage的一部分。我还想查看相关值(我想它应该是一个矩阵,而match_template取最大值);我怎么能得到它们?

这是我正在使用的代码:

cutout = np.loadtxt(filename_cutout.txt)
image = np.loadtxt(filename_image.txt)
array_cutout = np.array(cutout)
array_image = np.array(image)
result = match_template(image, cutout)
ij = np.unravel_index(np.argmax(result), result.shape)
x, y = ij[::-1]
ran = array_cutout.shape
ran_y = ran[1]
ran_x = ran[0]
x_center = x + (ran_x/2)
y_center = y + (ran_y/2)

1 个答案:

答案 0 :(得分:0)

skimage.features.match_template获取形状(M,N)和形状模板(m,n)的图像,并返回包含形状相关系数(M-m + 1,N-n)的响应图像+1)。该响应中的最高值对应于图像中最可能的匹配。

ij = np.unravel_index(np.argmax(result), result.shape)

np.argmax(result)返回响应图片中的最高值,该值应与模板的位置相对应。

您是否有从.txt文件加载图片的原因?当我使用match_template时,我通常使用skimage.io.imread()将图像加载到数组中。然后我可以将其二值化,或者将其灰度化,这有时会返回更好的结果。