与skimage匹配的模板:为什么输出尺寸与输入尺寸相同?

时间:2017-11-13 11:10:39

标签: python image-processing scikit-image

在模板与Python库skimage匹配的this tutorial中,有一些简单的示例代码:

import numpy as np

from skimage import data
from skimage.feature import match_template

image = data.coins()
coin = image[170:220, 75:130]

result = match_template(image, coin)

当我运行时,result似乎对应于输入图像,但尺寸略有不同:

>>> image.shape
(303, 384)
>>> result.shape
(254, 330)

为什么会这样?如何使result的像素与输入image的像素相对应?

1 个答案:

答案 0 :(得分:3)

结果较小,因为图像内部可能定位的位置数量(图像边界不重叠)小于图像中所有像素的数量。例如,如果您尝试将模板的左上角与图像中的每个像素对齐,那么当您接近图像的下/右部分时,模板将“泄漏”出图像。 match_template函数有一个特殊参数pad_input(和相关参数modeconstant_values),允许在图像边框上填充,以便模板可以在那里匹配