2010-11-07 71 views

回答

6

As @ Neon22提到,很棒的教程。根据我的经验,这是一个相当漫长的过程(收集正面和负面的样本,培训,产生哈尔级联),但是可能我做错了。

对于检测卡片,查看OpenCV SURF也是有用的。

OpenCV SURF

退房toxivideo

滑稽你提到的卡,Eugene Zatepyakin做了一个动作端口称为ASSURF

ASSURF cards

1

请尝试此教程。 http://cgi.cse.unsw.edu.au/~cs4411/wiki/index.php?title=OpenCV_Guide

但您确定的教程相当不错。我用它来清理我的哈尔分类器。 opencv 2.1发行版中包含的facedetect示例代码是检查生成的xml文件的一个很好的示例。 (我使用Python)

我发现与提供的帮助applicatoins几个问题。 1. createsamples不会从同一图像读取多于8个样本的描述文件 - 手动将您的关系文件分成几行,每个图像不超过8个矩形。

如果我.vec文件宽度和高度> 24个像素的图像进行哈尔训练不会继续

与哈尔主要问题似乎是,它不是不变的规模,你需要上千测试图像 - 这是createdamples程序将帮助您处理单个图像的功能,但如果您有单个样本图像的描述文件则不会。因此,教程额外的代码允许多次调用样本,并将生成的vec文件合并到一个超vec文件中。

-1

你可以参考:
http://opencv-hub.blogspot.in/2016/03/how-to-train-your-own-opencv-haar-classifier-haar-training-train-cascade.html
制作自己的哈尔级联的xml文件。
这个OpenCV教程是在C++上的,他们在那里详细介绍了哈尔训练的方法。另外请注意,哈尔不是旋转不变的。
因此,只要您旋转图像,它不会被检测到。
您需要使用SURF来达到此目的。
但通过Haar进行对象检测比SURF快得多。 如果您想了解如何使用经过培训的哈尔级联文件,您可以参考:
http://opencv-hub.blogspot.in/2016/03/how-to-do-real-time-face-detection-using-haar-cascade.html
实时人脸检测代码将类似于实时物体检测代码。