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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

OpenCV+python:模板匹配

發(fā)布時間:2023/11/27 生活经验 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV+python:模板匹配 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1,模板匹配的概念及原理
模板匹配是一項在一幅圖像中尋找與另一幅模板圖像最匹配(相似)部分的技術(shù).

我們需要2幅圖像:
模板 (T): 將和原圖像比照的圖像塊
原圖像 (I): 在這幅圖像里,我們希望找到一塊和模板匹配的區(qū)域

我們的目標(biāo)是檢測最匹配的區(qū)域:

為了確定匹配區(qū)域, 我們不得不滑動模板圖像和原圖像進(jìn)行比較:

通過滑動, 我們的意思是圖像塊一次移動一個像素 (從左往右,從上往下). 在每一個位置, 都進(jìn)行一次度量計算來表明它是 “好” 或 “壞” 地與那個位置匹配 (或者說塊圖像和原圖像的特定區(qū)域有多么相似)
對于 T 覆蓋在 I 上的每個位置,你把度量值 保存 到 結(jié)果圖像矩陣 R中. 在 R 中的每個位置 (x,y) 都包含匹配度量值:
上圖就是 TM_CCORR_NORMED 方法處理后的結(jié)果圖像 R . 最白的位置代表最高的匹配. 正如您所見, 紅色橢圓框住的位置很可能是結(jié)果圖像矩陣中的最大數(shù)值, 所以這個區(qū)域 (以這個點為頂點,長寬和模板圖像一樣大小的矩陣) 被認(rèn)為是匹配的.
實際上, 我們使用函數(shù) minMaxLoc 來定位在矩陣 R 中的最大值點 (或者最小值, 根據(jù)函數(shù)輸入的匹配參數(shù)) .
OpenCV通過函數(shù) matchTemplate 實現(xiàn)了模板匹配算法. 可用的方法有6個:

源代碼:

import cv2 as cv
import numpy as npdef template_demo():tpl = cv.imread("F:/images/T.png")  #模板圖像target = cv.imread("F:/images/I.png")#原圖像cv.imshow("template image", tpl)cv.imshow("target image", target)methods = [cv.TM_SQDIFF_NORMED, cv.TM_CCORR_NORMED, cv.TM_CCOEFF_NORMED] #標(biāo)準(zhǔn)平方差匹配 ,標(biāo)準(zhǔn)相關(guān)匹配,標(biāo)準(zhǔn)相關(guān)系數(shù)匹配th, tw = tpl.shape[:2]  #模板的高寬for md in methods:# print(md)result = cv.matchTemplate(target, tpl, md)   #像素點的相關(guān)度量值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);  #確定匹配區(qū)域cv.rectangle(target, tl, br, (0, 0, 255), 2)#將匹配區(qū)域繪制到原圖上cv.imshow("match-"+np.str(md), target)# cv.imshow("match-" + np.str(md), result)src = cv.imread("F:/images/I.png")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
template_demo()
cv.waitKey(0)cv.destroyAllWindows()

運行結(jié)果:


總結(jié)

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

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