如何创建 Haar Cascade(.xml 文件)以在 OpenCV 中使用?

Posted

技术标签:

【中文标题】如何创建 Haar Cascade(.xml 文件)以在 OpenCV 中使用?【英文标题】:How to create Haar Cascade (.xml file) to use in OpenCV? 【发布时间】:2011-01-01 07:56:09 【问题描述】:

如果你熟悉 OpenCV 库,你就知道 Haar Cascade 图像对象检测是什么。我的意思是图像对象检测,比如人脸检测或其他东西。 我有一些用于人脸检测的 Haar Cascade XML,但我不知道如何创建自己的。 我想创建 Haar Cascade XMLs 来检测简单的明亮圆形光源(即来自电视遥控器的闪烁红外光)。

那么,如何创建一个 Haar Cascade(.xml 文件)以在 OpenCV 中使用?

【问题讨论】:

在这里查看我的答案:***.com/questions/2597302/dice-face-value-recognition/… 找到好的常见问题解答computer-vision-software.com/blog/2009/11/… 【参考方案1】:

我认为这可能会有所帮助:

http://note.sonots.com/SciSoftware/haartraining.html

【讨论】:

【参考方案2】:

如果您有兴趣通过 haar 级联检测简单的 IR 光斑,这样做会很奇怪。因为简单的 IR blob 没有足够的特征来像其他对象(面部、眼睛、鼻子等)一样通过 opencv 进行训练。因为在我看来,IR 只是一种简单的光,只有一个亮度特征。但是如果你想学习如何训练分类器,下面的链接会对你有很大帮助。

http://note.sonots.com/SciSoftware/haartraining.html

如果您只是想检测 IR blob,那么您还有两种可能性,一种是您使用 DIP 算法来检测明亮区域,另一种是我建议您使用的 IR cam 只需通过IR blob,您可以使用 opencv blob 函数轻松检测 IR blob。如果您认为 IR cam 的范围很广,您可以通过移除 IR 阻挡器(如果有)并添加可见光阻挡器(即负片、软盘材料或任何其他材料)来将简单的网络摄像头制作为 IR cam。 您可以查看以下链接将简单的网络摄像头转换为红外摄像头。

http://www.metacafe.com/watch/385098/transform_your_webcam_into_an_infrared_cam/

【讨论】:

【参考方案3】:

这可能会有所帮助

http://opencvuser.blogspot.in/2011/08/creating-haar-cascade-classifier-aka.html

【讨论】:

【参考方案4】:

如何创建 CascadeClassifier :

    打开此链接:https://github.com/opencv/opencv/tree/master/data/haarcascades 右键单击找到“haarcascade_frontalface_default.xml”的位置 点击“链接另存为” 将其保存到您的文件所在的同一文件夹中。 在您的文件中包含这一行 face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")

【讨论】:

以上是关于如何创建 Haar Cascade(.xml 文件)以在 OpenCV 中使用?的主要内容,如果未能解决你的问题,请参考以下文章

计算机视觉·OpenCV使用Haar+Cascade实现人脸检测

Haar-Cascade 分类器的精度调优

早期的Haar Cascade 哈尔级联人脸识别

早期的Haar Cascade 哈尔级联人脸识别

我们可以训练一个 haar-cascade 来检测数字和字母吗?

利用opencv建立一个识别手机的haar cascade分类器