亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenCV中模板匹配的示例分析

發布時間:2021-06-11 14:37:35 來源:億速云 閱讀:250 作者:小新 欄目:開發技術

這篇文章主要介紹OpenCV中模板匹配的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

/ 01 / 模板匹配

模板匹配,就是在整個圖像區域里發現與給定子圖像相匹配的小塊區域。

這里需要一個模板圖像(給定的子圖像)和一個待檢測的圖像(原圖像)。

在待檢測圖像上,從左向右,從上向下計算模板圖像與重疊子圖像的匹配度,匹配度越大,兩者相同的可能性越大。

OpenCV中模板匹配的示例分析

這里主要涉及OpenCV的cv2.matchTemplate()cv2.minMaxLoc()函數。

第一個函數作用是在模板和輸入圖像之間尋找匹配,獲得匹配結果圖像。

第二個函數的作用則是在給定的矩陣中尋找最大和最小值(包括它們的位置)。

其中模板匹配算法有以下六種。

# 第一類,利用平方差來進行匹配,最好匹配為0.匹配越差,匹配值越大
# 平方差匹配
method=CV_TM_SQDIFF
# 標準平方差匹配
method=CV_TM_SQDIFF_NORMED
# 第二類,采用模板和圖像間的乘法操作,所以較大的數表示匹配程度較高,0標識最壞的匹配效果
# 相關匹配
method=CV_TM_CCORR
# 標準相關匹配
method=CV_TM_CCORR_NORMED
# 第三類,將模版對其均值的相對值與圖像對其均值的相關值進行匹配,1表示完美匹配,-1表示糟糕的匹配,0表示沒有任何相關性(隨機序列)
# 相關系數匹配
method=CV_TM_CCOEFF
# 標準相關系數匹配
method=CV_TM_CCOEFF_NORMED

標準化意味著將數值統一到0~1。

除了平方差類型的是值越小越好,其他的都是值越大越好。

/ 02 / 圖像檢索

首先來看一下兩張圖像,都為灰度圖。

import cv2
# 讀取待檢測圖像
img = cv2.imread('game.png', 0)
# 讀取模板圖像
temple = cv2.imread('temple.png', 0)
# 顯示灰度處理后的待檢測圖像
cv2.namedWindow('sample', 0)
cv2.resizeWindow('sample', 400, 600)
cv2.imshow('sample', img)
# 顯示灰度處理后的模板圖像
cv2.namedWindow('target', 0)
cv2.resizeWindow('target', 400, 600)
cv2.imshow('target', temple)

輸出結果如下。

OpenCV中模板匹配的示例分析

第一張為模板圖像,第二張為待檢測圖像。

下面使用OpenCV的兩個函數,來實現模板匹配。

# 獲取模板圖像的高和寬
th, tw = temple.shape[:2]
print(th, tw)
# 使用標準相關系數匹配,1表示完美匹配,-1表示糟糕的匹配,0表示沒有任何相關性
result = cv2.matchTemplate(img, temple, cv2.TM_CCOEFF_NORMED)
# result為匹配結果矩陣
# print(result)
# TM_CCOEFF_NORMED方法處理后的結果圖像
cv2.namedWindow('match_r', 0)
cv2.resizeWindow('match_r', 400, 600)
# 顯示窗口
cv2.imshow('match_r', result)
# 使用函數minMaxLoc,確定匹配結果矩陣的最大值和最小值(val),以及它們的位置(loc)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
# 此處選取最大值的位置,為圖像的左上角
tl = max_loc
# 獲取圖像的右下角
br = (tl[0]+tw, tl[1]+th)
# 繪制矩形框
cv2.rectangle(img, tl, br, (0, 0, 255), 2)
# 設置顯示窗口
cv2.namedWindow('match', 0)
cv2.resizeWindow('match', 400, 600)
# 顯示窗口
cv2.imshow('match', img)
# 結束
cv2.waitKey(0)
cv2.destroyAllWindows()

輸出結果如下。

OpenCV中模板匹配的示例分析

第一張圖中最白的位置,即代表著最高的匹配。

第二張圖中,矩形框則代表著匹配到的結果。

通過矩形框的位置參數,結合模板圖像的大小,便可得到小跳棋中心點位置(底部)。

以上是“OpenCV中模板匹配的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜城县| 九江市| 布拖县| 定安县| 永仁县| 稻城县| 武川县| 阿合奇县| 万山特区| 抚顺市| 阿拉善左旗| 光泽县| 福贡县| 达拉特旗| 平邑县| 靖宇县| 青神县| 平阳县| 延寿县| 天镇县| 泗水县| 搜索| 古浪县| 金塔县| 封丘县| 兴化市| 德兴市| 乌拉特后旗| 东海县| 昭苏县| 黑水县| 襄汾县| 桐梓县| 海阳市| 临沧市| 太和县| 丹巴县| 庄河市| 郓城县| 安仁县| 东城区|