模板匹配及应用
模板匹配及应用
1)模板匹配
模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术。模板匹配不是基于直方图的, 而是通过在
输入图像上滑动图像块(模板)同时比对相似度, 来对模板和输入图像进行匹配的一种方法。
应用:
①目标查找定位
②运动物体跟踪
③其他…
模板匹配—cv2.matchTemplate()
⚫ image: 待搜索图像(大图)
⚫ templ: 搜索模板, 需和原图一样的数据类型且尺寸不能大于源图像
⚫ result: 比较结果的映射图像, 其必须为单通道, 32位浮点型图像, 如果原图(待搜索图像)尺寸为W x H,
而templ尺寸为 w x h, 则result尺寸一定是(W-w+1)x(H-h+1)
⚫ method: 指定的匹配方法, 有如下6种:
cv2.TM_SQDIFF ------平方差匹配法(最好匹配0) cv2.TM_SQDIFF_NORMED ------归一化平方差匹配法(最好匹配0) cv2.TM_CCORR ------相关匹配法(最坏匹配0) cv2.TM_CCORR_NORMED ------归一化相关匹配法(最坏匹配0) cv2.TM_CCOEFF ------系数匹配法(最好匹配1) cv2.TM_CCOEFF_NORMED ------化相关系数匹配法(最好匹配1)
res = cv2 .matchTemplate (img,temp,CV2 .TM CCORR NORMED)
min_val, max_val, min_loc, max_loc = cv2 .minMaxLoc (res)
通常,随着从简单的测量(平方差)到更复杂的测量(相关系数),我们可获得越来越准确的匹配(同时也意味着越来越大的计
算代价). 最好的办法是对所有这些设置多做一些测试实验,以便为自己的应用选择同时兼顾速度和精度的最佳方案.
矩阵归一化—cv2.normalize()
⚫src: 输入原图像
⚫dst: 输出结果图像, 需要和原图一样的尺寸和类型
⚫alpha: 归一化后的最小值, 默认值1
⚫beta:归一化后的最大值, 默认值0
⚫norm_type: 归一化类型, 可选NORM_INF, NORM_L1, NORM_L2(默认)等
⚫dtype: 默认值-1, 此参数为负值时, 输出矩阵和src有同样类型
⚫mask: 可选的掩码操作
cv2.normalize(roihist,roihist,0,255,CV2.NORM_MINMAX)
normalize0)的作用是进行矩阵归一化。
寻找最值—cv2.minMaxLoc()
⚫src: 输入原图像, 单通道图像
⚫minVal: 返回最小值的指针, 若无需返回, 则设置0
⚫maxVal: 返回最大值的指针, 若无需返回, 则设置0
⚫minLoc: 返回最小位置的指针,若无需返回, 则设置0
⚫maxLoc:返回最大位置的指针,若无需返回, 则设置0
⚫mask: 可选的掩码操作
res = cv2 .matchTemplate (img ,temp,CV2 .TM CCORR NORMED)
min val, max val, min loc, max loc = cv2 .minMaxLoc(res)
minMaxLoc0)函数的作用是在数组中找到全局最小值和最大值。