53

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

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

4

4 回答 4

29

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

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

于 2010-01-04T18:00:55.053 回答
13

这可能会有所帮助

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

于 2012-03-23T09:53:38.953 回答
10

如果您有兴趣通过 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/

于 2011-12-13T05:23:54.107 回答
-3

如何创建 CascadeClassifier :

  1. 打开此链接:https ://github.com/opencv/opencv/tree/master/data/haarcascades
  2. 右键单击找到“haarcascade_frontalface_default.xml”的位置
  3. 点击“链接另存为”
  4. 将其保存到文件所在的同一文件夹中。
  5. 在你的文件中包含这一行 face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")
于 2020-07-24T06:19:47.827 回答