Python-OpenCV 笔记9 -- 模板匹配
生活随笔
收集整理的這篇文章主要介紹了
Python-OpenCV 笔记9 -- 模板匹配
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python-OpenCV 筆記9 – 模板匹配
1、模板匹配:matchTemplate()
函數原型:
matchTemplate(image, templ, method[, result[, mask]])參數:
- image:待搜索圖像,數據類型必須是8位或32位浮點數
- templ:搜索模板,它必須不大于待搜索圖像并具有相同的數據類型
- method:匹配的方法
- cv2.TM_SQDIFF:平方差匹配法,結果值越小越匹配
- cv2.TM_SQDIFF_NORMED:歸一化平方差匹配法,結果值在 [0, 1],越小越匹配
- cv2.TM_CCOPP:相關匹配法
- cv2.TM_CCOPP_NORMED:歸一化相關匹配法
- result:存放結果的圖像,必須為單通道32位浮點數類型
- mask:搜索模板的掩碼圖,它必須與 templ 具有相同的數據類型和大小,默認不設置。目前僅支持 TM_SQDIFF和 TM_CCORR_NORMED 方法
返回:
每個像素點(對應模板的左上角點)進行一次匹配,待搜索圖大小:W×H 模板大小:w×h,結果圖大小: (W?w+1)×(H?h+1)
2、示例
import cv2 import numpy as np# 讀取待搜索圖 src_img = cv2.imread('src.jpg', 0) template_img = cv2.imread('templ.jpg', 0) w, h = template_img.shape[::-1] res = cv2.matchTemplate(src_img, template_img, cv2.TM_CCOEFF_NORMED) threshold = 0.7 loc = np.where( res >= threshold) for pt in zip(*loc[::-1]):cv2.rectangle(src_img, pt, (pt[0] + w, pt[1] + h), 255, 2) cv2.imshow('match', src_img) cv2.waitKey() cv2.destroyAllWindows()GOOD LUCK!
總結
以上是生活随笔為你收集整理的Python-OpenCV 笔记9 -- 模板匹配的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 网络编程(Socket)
- 下一篇: Python 实现快排、堆排