(如果我问一个太小的问题,请提前申请。我是OpenCV的初学者。我已经完成了一些教程,但我还没有很好地掌握它的概念。)
问题:如何使用OpenCV进行头部检测(不是面部检测) - 例如在公共汽车或房间内的照片中?
注意:我不想做面部检测;只是检测头发以确定照片中的人数。不幸的是 - 对我来说 - 我发现的那些教程和文档都是关于人脸检测而不是头部检测。
谢谢
答案 0 :(得分:16)
查看OpenCV提供的所有Haar提升分类器和专用类CascadeClassifier
以使用它。以下是分类器在本地具有的列表:
我加粗的两个可能对你特别感兴趣。尝试将它们作为项目的开始。正如Alessandro Vermeulen评论的那样,头部检测分类器也可能很有趣,因为他们发现它与肩部有用: - )
答案 1 :(得分:1)
您也可以创建自己的级联分类器来检测磁头。上半身根本不是头部,但只是头部并不那么准确。您需要裁剪一些正样本和负样本。在text.txt,opencv_createsamples.exe(准备用于训练的输入向量)中准备这些示例的列表,并使用opencv_traincascade.exe命令行实用工具创建opencv分类器,以进行级联检测多尺度。 这很容易,但是创建数据集非常耗时。我的头部LBP级联可从此处免费下载link to my blog for head, car and people cascade。它与detectMultiscale兼容,但不那么准确。