推荐答案
-- -------------------- ---- ------- ------ --- ------ ----- -- -- - ------- --- - ----------------------- -- -------- - -------------------------- -- - ------- -- - - -------------------- - -- ------------- -------- --- - ---------------------- --------- --------------------- - ------ --------- - --- - -------------- --- - ------------ -- ---------- - --------------- --- -- -- ---------------- ------------------ --- ------ - -- ----- - --- --- ---- --- -- - ---- --------------------- ---- -------------- -----------------------
本题详细解读
1. matchTemplate
函数的作用
matchTemplate
是 OpenCV 中用于模板匹配的函数。它通过滑动模板图像在输入图像上进行比较,计算每个位置的相似度,并返回一个结果矩阵。这个结果矩阵中的每个值表示输入图像中对应位置与模板的匹配程度。
2. 参数解析
img
: 输入图像,通常是灰度图像。template
: 模板图像,通常是灰度图像。method
: 匹配方法,常用的有cv2.TM_CCOEFF_NORMED
、cv2.TM_SQDIFF
等。
3. 匹配方法
cv2.TM_CCOEFF_NORMED
: 归一化相关系数匹配法,值越大表示匹配程度越高。cv2.TM_SQDIFF
: 平方差匹配法,值越小表示匹配程度越高。
4. 结果处理
res
: 匹配结果矩阵,每个值表示输入图像中对应位置与模板的匹配程度。threshold
: 设定一个阈值,筛选出匹配程度高于该阈值的位置。loc
: 使用np.where
函数找到匹配结果中大于阈值的位置。
5. 绘制匹配区域
- 使用
cv2.rectangle
函数在输入图像上绘制矩形框,标记出匹配区域。
6. 显示结果
- 使用
cv2.imshow
显示匹配结果,并通过cv2.waitKey
和cv2.destroyAllWindows
控制窗口显示和关闭。