1. 程式人生 > >使用opencv做人臉識別

使用opencv做人臉識別

opencv做人臉識別已經做的比較好了,比如相繼拍照時自動鎖定人臉,並對臉部做特殊的濾光或補光處理。下面就體驗一把吧。

1. 安裝opencv。網上有很種方法,但看起來很複雜,其實最簡單的方式就是直接用pip install opencv-python安裝。如果使用pycharm開發,直接寫import cv2,pycharm會提示安裝,按照提示安裝即可(不過這樣只會在專案裡安裝),而且安裝的內容不夠全,需要手動到opencv官網下載原始檔。

2. 在pycharm中新建python檔案face_detect.py,程式碼如下:

import cv2
import sys
face_cascade = cv2.CascadeClassifier('/home/richard/richard/opencv-3.4.0/data/haarcascades//haarcascade_frontalface_default.xml'
) eye_cascade = cv2.CascadeClassifier('/home/richard/richard/opencv-3.4.0/data/haarcascades/haarcascade_eye.xml') img_path = sys.argv[1] img = cv2.imread(img_path) img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(img_gray) for (x,y,w,h) in faces: face_area = cv2.rectangle(img,
(x,y),(x+w,y+h),(255,0,0),2) face_gray = img_gray[y:y+h,x:x+w] face_color = img[y:y+h,x:x+w] eyes = eye_cascade.detectMultiScale(face_gray) for (ex,ey,ew,eh) in eyes: cv2.rectangle(face_color,(ex,ey),(ew,eh),(0,255,0),2) cv2.imwrite('/home/richard/richard/myOpencv/face_detect.png',img)

3. 直接在pycharm的terminal中測試: python face_detect.py /home/richard/1.jpg 就能看到

/home/richard/richard/myOpencv/face_detect.png

的效果檔案了。

我這邊測試了很多遍始終無法正確識別眼睛,臉是能準確識別的。那位大佬知道原因的話請告知。