首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaCV -识别最准确的检测人脸

JavaCV -识别最准确的检测人脸
EN

Stack Overflow用户
提问于 2012-09-08 12:04:42
回答 1查看 797关注 0票数 4

我是JavaCV/OpenCV的新手,所以如果我是个十足的白痴,请提前道歉.

我需要检测图像中的“主/主”人脸(此图像大部分将是“配置文件图片”),人脸识别并不是必需的。

由于不同的HAAR级联文件每个检测到不同的面孔,而且检测到的人脸有时不是实际的人脸,而是图像中的任意工件,所以我需要决定使用哪一个人脸。假设检测到的人脸是真实的人脸,那么使用最大的人脸是有意义的,因为它是一个配置文件图片。

我遇到的主要问题是,代码检测到的(一些图像)更多的是一张脸,而最大的一张脸实际上根本就不是人的脸。这是我的一个测试中的一个例子,代码检测到两张脸,一张是真实的脸,另一张是女人的胸部,碰巧她的胸部比她的脸大。

脸:6084 java.awt.Rectangle[x=62,y=42,width=78,height=78]

半身:java.awt.Rectangle[x=86,y=144,width=80,height=80] 面积6400

总之,我的问题是,如果我有多个被检测到的面孔,我是否可以用某种等级来确定哪一张脸最符合OpenCV所认为的脸?

EN

回答 1

Stack Overflow用户

发布于 2013-11-01 20:58:39

不幸的是,人脸检测没有为您提供这样的选择。我想你的代码看起来是这样的:

代码语言:javascript
复制
CvSeq faces = cvHaarDetectObjects(grayImage, cascade, ......);

因此,您可以得到一个CvSeq,它实际上只是一个指针,指向分隔脸的矩形序列。你不会再得到这方面的信息了。

通常,我会说胸部在头部下面(更重要的是,头部高于身体的其他部分),但在一些特殊情况下除外;

您可以简单地利用Y位置来丢弃半身像。

如果其他非身体部分的元素被检测为面部,那么你就注定要失败。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12330578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档