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
的效果文件了。
我這邊測試了很多遍始終無法正確識別眼睛,臉是能準確識別的。那位大佬知道原因的話請告知。