OpenCV 4.11.0
开源计算机视觉库
|
模板匹配是一种在较大图像中搜索和查找模板图像位置的方法。OpenCV 提供了函数cv.matchTemplate() 用于此目的。它简单地将模板图像在输入图像上滑动(如同二维卷积),并比较模板和输入图像下模板图像下的图像块。OpenCV 中实现了多种比较方法。(您可以查看文档了解更多详细信息)。它返回一个灰度图像,其中每个像素表示该像素的邻域与模板的匹配程度。
如果输入图像大小为 (WxH),模板图像大小为 (wxh),则输出图像大小为 (W-w+1, H-h+1)。获得结果后,可以使用cv.minMaxLoc() 函数查找最大/最小值的位置。将其作为矩形的左上角,并将 (w,h) 作为矩形的宽度和高度。该矩形即为模板区域。
我们使用函数:cv.matchTemplate (image, templ, result, method, mask = new cv.Mat())
image | 进行搜索的图像。必须是 8 位或 32 位浮点数。 |
templ | 搜索模板。它必须不大于源图像并且具有相同的数据类型。 |
result | 比较结果图。必须是单通道 32 位浮点数。 |
method | 指定比较方法的参数(参见 cv.TemplateMatchModes)。 |
mask | 搜索模板的掩码。它必须与 templ 具有相同的数据类型和大小。默认情况下未设置。 |