欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于pyhton+openc的人脸检测程序

程序员文章站 2022-07-14 09:04:50
...

利用opencv+python进行人脸检测

计算机软硬件发展到现在,现在的人脸技术已经变得不再稀奇,今天我给大家分享一下有关于人脸检测的代码,希望能够帮助你们。

环境

windows10
python3.7+opencv+pycharm

完整代码

废话不多说,直接上代码。

import cv2

def dec_face():
    face_cascade = cv2.CascadeClassifier('D:\BaiduNetdiskDownload\haarshare/haarcascade_frontalface_default.xml')
    eye_cascade = cv2.CascadeClassifier('D:\BaiduNetdiskDownload\haarshare/haarcascade_eye_tree_eyeglasses.xml')
    cap = cv2.VideoCapture(0) #调用摄像头
    while(True):
        ret, img = cap.read()
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        faces = face_cascade.detectMultiScale(gray, 1.3, 5)
        for (x,y,w,h) in faces:
            cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),1) #将人脸用绿色方框起来
            cv2.putText(img, 'Trump', (x, y - 20), cv2.FONT_HERSHEY_SIMPLEX, 1, (255,0, 0), 2) #显示人脸信息
            roi_gray = gray[y:y+h, x:x+w]
            roi_color = img[y:y+h, x:x+w]
            eyes = eye_cascade.detectMultiScale(roi_gray)
            for (ex,ey,ew,eh) in eyes:
                cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),1) #将眼睛用绿色方框圈起来
        cv2.imshow('face dectect',img) #窗口的名字为人脸检测
        if cv2.waitKey(30) & 0xFF == ord('q'): #按键'q'关闭窗口
            break
    cap.release() #释放摄像头
    #out.release()
    cv2.destroyAllWindows()

dec_face()

运行结果

在手机上搜了一张Trump的照片,把它放到摄像头前,可以看到运行的结果还算是成功的。
基于pyhton+openc的人脸检测程序

本作品只供于学习,感谢大家的支持。
如需转载请标注作者。