91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么在Python中使用OpenCV匹配人眼

發布時間:2021-06-08 17:42:33 來源:億速云 閱讀:188 作者:Leah 欄目:開發技術

這篇文章給大家介紹怎么在Python中使用OpenCV匹配人眼,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

什么是模板匹配

模板匹配是指在當前圖像A內尋找與圖像B最相似的部分,可以理解找茬,但是這里是找出一樣的信息。

一般我們將圖像A稱為輸入圖像,將圖像B稱為模板圖像。模板匹配的原理就是將模板B圖像在圖像A上滑動遍歷,找出與其匹配的部分。

模板匹配函數

在OpenCV中,它給我們提供了cv2.matchTemplate()函數來完成模板匹配。其函數的完整定義如下:

def matchTemplate(image, templ, method, result=None, mask=None):

image:原始圖像

templ:模板圖像

method:匹配方法。該參數通過TemplateMatchModes實現,如下表所示:

參數取值含義
cv2.TM_SQDIFF0以方差為依據進行匹配。若完全匹配,則結果為0;若不匹配,則會得到一個很大的差值
cv2.TM_SQDIFF_NORMED1標準(歸一化)平方差匹配
cv2.TM_CCORR2相關匹配,這類方法將模板圖像與輸入圖像相乘,如果乘積越大,則匹配度較高;如果乘積為0,則表示匹配效果最差
cv2.TM_CCORR_NORMED3標準(歸一化)相關匹配
cv2.TM_CCOEFF4相關系統匹配,這類方法將模板圖像與其均值的相對值,和輸入圖像與其均值的相關值進行匹配。1表示完美匹配,-1表示糟糕的匹配,0表示沒有任何相關匹配(隨機序列)
cv2.TM_CCOEFF_NORMED5標準(歸一化)相關系數匹配

result:返回值。它是由每個位置的比較結果組合所構成的一個結果集,類型是單通道32位浮點型。如果輸入圖像尺寸是WH,模板尺寸是wh,則返回值的大小為(W-w+1)*(H-h+1)。

mask:模板圖像掩模。它必須與模板圖像具有相同類型的大小。通常使用默認值即可。

實現模板匹配

首先,我們需要兩張圖片,這里我們還是選取經常用的美女照片以及截取其眼睛部分作為模板圖像,如下:

import cv2
import matplotlib.pyplot as plt

img = cv2.imread("4.jpg", 0)
template = cv2.imread("4_1.jpg", 0)

th, tw = template.shape[::]

rv = cv2.matchTemplate(img, template, cv2.TM_SQDIFF)
min, max, minLoc, maxLoc = cv2.minMaxLoc(rv)

topLeft = minLoc
bottomRight = (topLeft[0] + tw, topLeft[1] + th)
cv2.rectangle(img, topLeft, bottomRight, 255, 2)

plt.subplot(121)
plt.imshow(template, cmap="gray")
plt.axis('off')
plt.subplot(122)
plt.imshow(img, cmap="gray")
plt.axis('off')
plt.show()

關于怎么在Python中使用OpenCV匹配人眼就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

扬州市| 凉城县| 滦平县| 阿荣旗| 沙河市| 贵州省| 全州县| 泗阳县| 平武县| 慈溪市| 乐业县| 洪洞县| 五莲县| 乌什县| 玉环县| 湾仔区| 德保县| 邢台县| 玉龙| 敖汉旗| 江西省| 林芝县| 裕民县| 龙游县| 穆棱市| 突泉县| 竹北市| 宜君县| 盐源县| 湖北省| 抚松县| 镇原县| 万年县| 乌海市| 大足县| 双鸭山市| 吉木萨尔县| 张家界市| 铁力市| 叙永县| 屏东市|