2017-08-10 74 views
0

我正在创建一个程序,用opencv检测头部,而不仅仅是脸部。必须有办法做到这一点。除了头部之外,我需要确定头部的最高像素(头发的顶部)和下巴的低中心点...我没有找到任何OS X OpenCV示例..下面是我想实现什么... https://pasteboard.co/GF19Fao.jpgOpenCV和OsX HEAD检测

看起来够简单吧?

回答

0

我建议您考虑一下haarcascades

This由不包含在OpenCV中的几个级联组成。


方法1:

轮廓正面人脸的有一个很好的起点。

就我个人而言,我还没有测试过它们,所以我很难告诉你结果是什么样子。

如果最终边框单独适合完美在整个头部,那么你可以做如下假设为出发点

if box = (topLeft, topRight, bottomLeft, bottomRight) 
then hairTop = distance(topLeft, topRight)/2 
and chin = distance(bottomLeft, bottomRight)/2 

如果没有,你可以做两件事情:

1.进行一些测量重新调整,以查看移动所得矩形以找到下巴和顶部头发有多远。

2.您也可以使用其他分类器的组合。

合并正面/侧面人脸的结果与分类找到下巴

合并正面/侧面人脸upperbody分类找到顶部的头发。


方法2

您也可以使用正面/侧面人脸分类找到顶部头发,只是使用找到下巴。


这两种方法都要求您运行多个测试以找到满足您的任务的最佳值/估计值。

+0

顺便说一下..我用的每张照片都会在同一个地方的脸上 –

+0

你有没有试过我的建议? – eshirima

+0

是的。我设法让嘴巴下来。我发现了一个“头肩膀”级联,但它有时显示比头发更多的头发..我需要完全匹配头发的顶部。你能解释一下我的“头发顶”算法吗? –