Eya*_*rry 4 c c++ opencv image-processing face-detection
我正在开发一个需要使用Haar级联分类器进行OpenCV对象检测的应用程序.我在64位Windows机器上使用OpenCV 2.3.1和VS2010.我自己编译并构建了OpenCV,并没有使用任何预编译的二进制文件.
首先,我想开始介入OpenCV中包含的facedetect.cpp示例.我没有错误地构建它,但是当我试图运行时它不会打开级联分类器xml文件(CascadeClassifier.load()函数返回false).我没有更改示例源代码中的任何内容.
我正在使用随OpenCV一起分发的xml文件,因此问题不在于xml文件.我还确保应用程序可以使用简单的fopen访问和读取文件.
我相信(但不确定)问题似乎是级联分类器是"旧"类型.但是在OpenCV文档中,特别暗示新的CascadeClassifier对象可以打开"旧"和"新"级联分类器.
这是一个链接:http://opencv.itseez.com/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-load
我甚至尝试使用预编译的OpenCV2.2二进制文件,它与xml一起工作得非常好.然后我尝试编译2.2示例源代码,并再次无法加载xml.
我知道我可以尝试使用旧对象CvHaarClassifierCascade,但我更喜欢使用最新版本的OpenCV及其对象.
有谁知道我做错了什么?
提供xml文件的完整路径
String face = "c:/data/xml/haarcascade_frontalface_alt.xml";
Run Code Online (Sandbox Code Playgroud)
它应该工作!
小智 6
我有同样的情况.当我意识到我在Debug配置中链接发布库时,我解决了它.更改opencv_231*.lib到opencv_*231d.lib已经解决了这个问题.
CascadeClassifier::load不是唯一导致此类麻烦的函数,请参阅此主题以获取详细信息:使用版本库时,OpenCV imread(filename)在调试模式下失败.
| 归档时间: |
|
| 查看次数: |
20488 次 |
| 最近记录: |