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