您好,登錄后才能下訂單哦!
這篇文章給大家介紹利用python如何實現(xiàn)一個人臉識別功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
圖片人臉識別
import cv2 filepath = "img/xingye-1.png" img = cv2.imread(filepath) # 讀取圖片 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 轉(zhuǎn)換灰色 # OpenCV人臉識別分類器 classifier = cv2.CascadeClassifier( "C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml" ) color = (0, 255, 0) # 定義繪制顏色 # 調(diào)用識別人臉 faceRects = classifier.detectMultiScale( gray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32)) if len(faceRects): # 大于0則檢測到人臉 for faceRect in faceRects: # 單獨(dú)框出每一張人臉 x, y, w, h = faceRect # 框出人臉 cv2.rectangle(img, (x, y), (x + h, y + w), color, 2) # 左眼 cv2.circle(img, (x + w // 4, y + h // 4 + 30), min(w // 8, h // 8), color) #右眼 cv2.circle(img, (x + 3 * w // 4, y + h // 4 + 30), min(w // 8, h // 8), color) #嘴巴 cv2.rectangle(img, (x + 3 * w // 8, y + 3 * h // 4), (x + 5 * w // 8, y + 7 * h // 8), color) cv2.imshow("image", img) # 顯示圖像 c = cv2.waitKey(10) cv2.waitKey(0) cv2.destroyAllWindows()
視頻人臉識別
# -*- coding:utf-8 -*- # OpenCV版本的視頻檢測 import cv2 # 圖片識別方法封裝 def discern(img): gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cap = cv2.CascadeClassifier( "C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml" ) faceRects = cap.detectMultiScale( gray, scaleFactor=1.2, minNeighbors=3, minSize=(50, 50)) if len(faceRects): for faceRect in faceRects: x, y, w, h = faceRect cv2.rectangle(img, (x, y), (x + h, y + w), (0, 255, 0), 2) # 框出人臉 cv2.imshow("Image", img) # 獲取攝像頭0表示第一個攝像頭 cap = cv2.VideoCapture(0) while (1): # 逐幀顯示 ret, img = cap.read() # cv2.imshow("Image", img) discern(img) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() # 釋放攝像頭 cv2.destroyAllWindows() # 釋放窗口資源
關(guān)于利用python如何實現(xiàn)一個人臉識別功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。