20行代码 人脸识别

                                                20行代码 人脸识别

 

import cv2

filename = "D://human.jpg"

def detect(filename):
    # haarcascade_frontalface_default.xml存储在package安装的位置
    face_cascade = cv2.CascadeClassifier("D:\\Program Files\\Python\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_default.xml")
    img = cv2.imread(filename)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    #传递参数是scaleFactor和minNeighbors,分别表示人脸检测过程中每次迭代时图像的压缩率以及每个人脸矩形保留近邻数目的最小值
    #检测结果返回人脸矩形数组
    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, 0), 2)
    cv2.namedWindow("Face Detected!")
    cv2.imshow("Face Detected!", img)
    cv2.imwrite("D://Face.jpg", img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

detect(filename)

 

 

可能报错

OpenCV(4.0.0) C:\projects\opencv-python\opencv\modules\objdetect\src\cascade

cascadedetect.cpp:1698: error: (-215) !empty() in function detectMultiScale

 

解决方案:

windows下面 // 代替/  j

检查路径

filename = "D://human.jpg"

检查路径

D:\\Program Files\\Python\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_default.xml

 

两者地址是否确认正确,一般是没啥问题的话,能正常运行

 

 

有问题可关注微信公众号:程序员开发者社区,加我好友,向我咨询

 

 

 

你可能感兴趣的:(机器学习/人工智能算法)