我目前正在Java / JavaCV中进行人脸检测。
到目前为止,我一直在试验代码。
我正在使用这张面孔层叠= haarcascade_frontalface_alt_tree.xml
我在下面获得了用于检测网络摄像头中最大脸孔的代码
CvSeq faces = cvHaarDetectObjects(img, classifier, storage, 1.1, 1,
CV_HAAR_DO_ROUGH_SEARCH|CV_HAAR_FIND_BIGGEST_OBJECT);
我的第一个问题是:
由于这只能检测到一张脸-网络摄像头中找到的最大脸
这是检测多张脸的正确方法吗?
CvSeq faces = cvHaarDetectObjects(img, classifier, storage, 1.1, 1, CV_HAAR_DO_CANNY_PRUNING);
我的第二个问题是:
是否可以检测到只看着摄像头的脸?那些不关注wbecam的人?
因此它可以检测到脸部,但我想设置某种分数-假设1代表正在进入网络摄像头的脸部,2是代表远离网络摄像头的脸部?我该如何进行呢?
谢谢。
最佳答案
如果一个人直接看,他/她的眼睛应该是垂直的(如果他/她没有眼睛问题:P)。
该理论表明,如果一个人直接看,瞳孔和虹膜应为圆形而不是椭圆形。
请注意,我仅指瞳孔和虹膜的可见部分。
关于java - 检测正在注视网络摄像头的面部,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23079977/