日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

opencv进阶学习笔记8:模板匹配

發(fā)布時間:2024/9/30 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv进阶学习笔记8:模板匹配 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

基礎(chǔ)版筆記傳送門:
python3+opencv學習筆記匯總目錄(適合基礎(chǔ)入門學習)
進階版筆記目錄鏈接:
python+opencv進階版學習筆記目錄(適合有一定基礎(chǔ))

模板匹配原理

模板匹配(TemplateMatching)就是在一幅圖像中尋找和模板圖像(template)最相似的區(qū)域,該方法原理簡單計算速度快,能夠應用于目標識別,目標跟蹤等多個領(lǐng)域。

模板匹配就是在整個圖像區(qū)域發(fā)現(xiàn)與給定子圖像匹配的小塊區(qū)域。
首先需要一個模板圖像T(子圖像)和一個待檢測的圖像(源圖像S)
在待檢測圖像從左到右,從上到下計算模板圖像與重疊子圖像的匹配度,匹配度越高,兩者相同的可能性越大。
缺點:模板圖像尺寸和待檢測圖像尺寸問題。模板尺寸必須小于待檢測圖片尺寸。

匹配度量的方法有:
CV_TM_SQDIFF 平方差匹配法,最好的匹配為0,值越大匹配越差
CV_TM_SQDIFF_NORMED 歸一化平方差匹配法
CV_TM_CCORR 相關(guān)匹配法,采用乘法操作,數(shù)值越大表明匹配越好
CV_TM_CCORR_NORMED 歸一化相關(guān)匹配法
CV_TM_CCOEFF 相關(guān)系數(shù)匹配法,最好的匹配為1,-1表示最差的匹配
CV_TM_CCOEFF_NORMED 歸一化相關(guān)系數(shù)匹配法
前面兩種方法為越小的值表示越匹配,后四種方法值越大越匹配。

OpenCV模板匹配實現(xiàn)

cv2.matchTemplate(image, templ, method, result=None, mask=None)

image:待搜索圖像
templ:模板圖像
result:匹配結(jié)果,是一個矩陣
method:計算匹配程度的方法
cv2.minMaxLoc(src, mask=None)
src是一個矩陣。輸入cv2.matchTemplate的返回值

函數(shù)功能:假設(shè)有一個矩陣a,現(xiàn)在需要求這個矩陣的最小值,最大值,并得到最大值,最小值的索引。索引即位置坐標

import cv2 as cv import numpy as npdef template_demo():tpl = cv.imread("head.png")#模板target = cv.imread("yangmi.jpg")#待檢測圖cv.imshow("template image", tpl)#cv.imshow("target image", target)methods = [cv.TM_SQDIFF_NORMED, cv.TM_CCORR_NORMED, cv.TM_CCOEFF_NORMED]#歸一化均方誤差,歸一化相關(guān)匹配,歸一化相關(guān)系數(shù)th, tw = tpl.shape[:2]#取高寬,不取通道 模板高寬for md in methods:print(md)result = cv.matchTemplate(target, tpl, md)min_val, max_val, min_loc, max_loc = cv.minMaxLoc(result)#尋找最小值,最大值。最小值位置,最大值位置if md == cv.TM_SQDIFF_NORMED:tl = min_locelse:tl = max_locbr = (tl[0]+tw, tl[1]+th);cv.rectangle(target, tl, br, (0, 0, 255), 2)#在待檢測圖像上畫矩形框。tl為矩形左上角,br為矩形右下角cv.imshow("match-"+str(md), target)#cv.imshow("match-" + np.str(md), result)#"match-" + np.str(md) 為窗口名print("--------- Python OpenCV Tutorial ---------")template_demo() cv.waitKey(0)cv.destroyAllWindows()

模板圖像尺寸必須小于待檢測圖像尺寸??梢宰约盒薷某叽?#xff0c;使?jié)M足要求。
result結(jié)果樣子

md=1,3,5
左上角為模板,其余三圖為結(jié)果、

電氣專業(yè)的計算機萌新,寫博文不容易。如果你覺得本文對你有用,請點個贊再走,謝謝。

總結(jié)

以上是生活随笔為你收集整理的opencv进阶学习笔记8:模板匹配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。