簡(jiǎn)單的Python人臉識(shí)別系統(tǒng)
案例一 導(dǎo)入圖片
思路: 1.導(dǎo)入庫(kù) 2.加載圖片 3.創(chuàng)建窗口 4.顯示圖片 5.暫停窗口 6.關(guān)閉窗口
# 1.導(dǎo)入庫(kù) import cv2 # 2.加載圖片 img = cv2.imread('a.png') # 3.創(chuàng)建窗口 cv2.namedWindow('window 1 haha') # 4.顯示圖片 cv2.imshow('window 1',img) # 5.暫停窗口 cv2.waitKey(0) # 6.關(guān)閉窗口 cv2.destroyAllWindows()
案例二 在圖片上添加人臉識(shí)別
思路: 1.導(dǎo)入庫(kù) 2.加載圖片 3.加載人臉模型 4.調(diào)整圖片灰度 5.檢查人臉 6.標(biāo)記人臉 7.創(chuàng)建窗口 8.顯示圖片 9.暫停窗口 10.關(guān)閉窗口
# 1.導(dǎo)入庫(kù) import cv2 # 2.加載圖片 img = cv2.imread('a.png') # 3.加載人臉模型,opencv官網(wǎng)下載 face = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # 4.調(diào)整圖片灰度:沒必要識(shí)別顏色,灰度可以提高性能 gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY) # 5.檢查人臉 faces = face.detectMultiScale(gray) # 6.標(biāo)記人臉for (x,y,w,h) in faces: # 里面有4個(gè)參數(shù) 1.寫圖片 2.坐標(biāo)原點(diǎn) 3.識(shí)別大小 4.顏色 5.線寬 cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),4) # 7.創(chuàng)建窗口 cv2.namedWindow('window 1 haha') # 8.顯示圖片 cv2.imshow('window 1', img) # 9.暫停窗口 cv2.waitKey(0) # 10.關(guān)閉窗口 cv2.destroyAllWindows()
案例三 調(diào)用攝像頭
思路: 1.導(dǎo)入庫(kù) 2.打開攝像頭 3.獲取攝像頭實(shí)時(shí)畫面 4.釋放資源 5.關(guān)閉窗口
# 1.導(dǎo)入庫(kù) import cv2 # 2.打開攝像頭 capture = cv2.VideoCapture(0) # 3.獲取攝像頭實(shí)時(shí)畫面 cv2.namedWindow('camera') while True: #3.1 獲取攝像頭的幀畫面 ret,frame = capture.read() #3.2 顯示圖片(渲染畫面) cv2.imshow('window 1',frame) #3.3 暫停窗口 if cv2.waitKey(5) & 0xFF == ord('q'): break # 4.釋放資源 capture.release() # 5.關(guān)閉窗口 cv2.destroyAllWindows()
案例四 攝像頭識(shí)別人臉
思路: 1.導(dǎo)入庫(kù) 2.加載人臉模型 3.打開攝像頭 4.創(chuàng)建窗口 5.獲取攝像頭實(shí)時(shí)畫面 6.釋放資源 7.關(guān)閉窗口
# 1.導(dǎo)入庫(kù) import cv2 # 2.加載人臉模型 face = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # 3.打開攝像頭 capture = cv2.VideoCapture(0) # 4.創(chuàng)建窗口cv2.namedWindow('window 1') # 5.獲取攝像頭實(shí)時(shí)畫面 while True: # 5.1 獲取攝像頭的幀畫面 ret,frame = capture.read() # 5.2 圖片灰度調(diào)整 gray = cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY) # 5.3 檢查人臉 faces = face.detectMultiScale(gray) # 5.4 標(biāo)記人臉 for (x, y, w, h) in faces: # 里面有4個(gè)參數(shù) 1.寫圖片 2.坐標(biāo)原點(diǎn) 3.識(shí)別大小 4.顏色 5.線寬 cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 4) # 5.5 顯示圖片 cv2.imshow('camera',frame) # 5.6 暫停窗口 if cv2.waitKey(5) & 0xFF == ord('q'): break # 6.釋放資源 capture.release() # 7.關(guān)閉窗口 cv2.destroyAllWindows()
以上就是簡(jiǎn)單的Python人臉識(shí)別系統(tǒng)的詳細(xì)內(nèi)容,更多關(guān)于Python人臉識(shí)別的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
pytorch 中autograd.grad()函數(shù)的用法說(shuō)明
這篇文章主要介紹了pytorch 中autograd.grad()函數(shù)的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2021-05-05Python存儲(chǔ)List數(shù)據(jù)到文件(text/csv/excel)幾種常見方法
在數(shù)據(jù)分析中經(jīng)常需要從csv格式的文件中存取數(shù)據(jù)以及將數(shù)據(jù)寫書到csv文件中,下面這篇文章主要給大家介紹了關(guān)于Python存儲(chǔ)List數(shù)據(jù)到文件(text/csv/excel)的幾種常見方法,需要的朋友可以參考下2024-02-02使用Python腳本對(duì)Linux服務(wù)器進(jìn)行監(jiān)控的教程
這篇文章主要介紹了使用Python程序?qū)inux服務(wù)器進(jìn)行監(jiān)控的教程,主要基于Python2.7的版本,需要的朋友可以參考下2015-04-04matplotlib繪圖實(shí)例演示標(biāo)記路徑
這篇文章主要介紹了matplotlib繪圖實(shí)例演示標(biāo)記路徑,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01