今天就跟大家聊聊有關如何中python3中使用OpenCV3實現靜態圖片人臉識別,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
創建一個識別人臉的函數detect()
def detect(img):
#函數聲明了一個face_cascade的變量,該變量為CascadeClassifier的對象,用于檢測人臉(frontalface)
face_cascade = cv2.CascadeClassifier('./cascades/haarcascade_frontalface_default.xml')
#進行灰度化處理
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#進行實際的人臉檢測,傳遞參數是scaleFactor和minNeighbor,分別表示人臉檢測過程中每次迭代時圖像的壓縮率和每個人臉矩形保留近鄰數目的最小值
faces = face_cascade.detectMultiScale(gray,1.3,5)
for (x,y,w,h) in faces:
#依次提取faces變量中的值來畫矩形
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,255),2)
cv2.imshow('face_track',img)
#避免圖形窗口關閉
cv2.waitKey(0)上面就是主要的函數,當然你也可以不用函數,直接寫在while循環里面,下面是完整的程序代碼
import cv2
filename = cv2.imread('face_2.jpg')
def detect(img):
face_cascade = cv2.CascadeClassifier('./cascades/haarcascade_frontalface_default.xml')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray,1.3,5)
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,255),2)
cv2.imshow('face_track',img)
cv2.waitKey(0)
if __name__ == "__main__":
detect(filename)看完上述內容,你們對如何中python3中使用OpenCV3實現靜態圖片人臉識別有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。