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

时间:2010-01-04 17:11:33

标签: xml opencv emgucv

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

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

4 个答案:

答案 0 :(得分:28)

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

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

答案 1 :(得分:12)

答案 2 :(得分:8)

如果你有兴趣通过haar级联检测简单的红外光斑,那将是非常奇怪的。因为简单的红外斑点没有足够的功能可以通过opencv像其他物体(面部,眼睛,鼻子等)一样训练。因为IR只是一个简单的灯光,在我看来只有一个亮度特征。但是如果你想学习如何训练分类器,那么链接将会帮助你。

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

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

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

答案 3 :(得分:0)

如何创建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”)