gpt4 book ai didi

python - 如何使用opencv + python检测不同角度的人脸

转载 作者:行者123 更新时间:2023-12-02 17:42:25 27 4
gpt4 key购买 nike

我想从不同 Angular 检测人脸。现在,我的代码可以检测到人脸(如果该人脸恰好在相机前)。但是我想检测不同 Angular 面孔。我该怎么办..请帮助我。

我的代码如下:
detector.py

import cv2
import numpy as np

faceDetect=cv2.CascadeClassifier('haarcascade_frontalface_default.xml');
cam=cv2.VideoCapture(0);
rec=cv2.createLBPHFaceRecognizer();
rec.load("recognizer/trainningData.yml")
id=0
font=cv2.cv.InitFont(cv2.cv.CV_FONT_HERSHEY_COMPLEX_SMALL,2,1,0,2)
while(True):
ret,img=cam.read();
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faces=faceDetect.detectMultiScale(gray, 1.3,5);
for(x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h), (0,0,255),2)
id,conf=rec.predict(gray[y:y+h,x:x+w])
if(id==1):
id="Aftab Ahmed"
elif (id==2):
id="Ahmed"
cv2.cv.PutText(cv2.cv.fromarray(img),str(id),(x,y+h),font,255);
cv2.imshow("Face", img);
if(cv2.waitKey(1)==ord('q')):
break;
cam.release()
cv2.destroyAllWindows()

最佳答案

为了检测面部的非正面部分,您必须使用其他分类器。对于正面人脸检测,您使用了 haarcascade_frontalface_default.xml 文件。脸部的侧面部分通常称为轮廓。

要检测非额叶部分,可以使用另一个xml文件,即 lbpcascade_profileface.xml 。您可以在THIS GITHUB PAGE上找到此.xml文件

使用xml检测配置文件。

关于python - 如何使用opencv + python检测不同角度的人脸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42831466/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com