OpenCV无法加载lbpcascade_frontalface.xml级联分类器

geeeeeeeeek 2016-03-29 01:31:41
各位,小弟最近在做一个人脸识别相关的课题,打算使用OpenCV2.4.10中自带的检测器实现,目前已经使用经典的分类器haarcascade_frontalface_alt.xml进行了人脸检测,但是发现其实时性不高。想利用更快速的加载器lbpcascade_frontalface.xml来实现检测。但是怎么都加载不成功,下面是我加载的代码:

方式1:
static const char *lbpcascade_file = "../data/lbpcascade_frontalface.xml";
CascadeClassifier *face_cascade;
face_cascade = (CascadeClassifier *)cvLoad(lbpcascade_file);
if (!face_cascade) {
printf("Can't load lbpcascade_file!!");
return false;
}
......
face_cascade->detectMultiScale(frame_gray, faces, 1.1, 2, 0 | CV_HAAR_SCALE_IMAGE, Size(30, 30));
方式2:
static const char *lbpcascade_file = "../data/lbpcascade_frontalface.xml";
CascadeClassifier face_cascade;
if (!face_cascade.load(lbpcascade_file)) {
printf("Can't load lbpcascade_file!!");
return false;
}
face_cascade.detectMultiScale(frame_gray, faces, 1.1, 2, 0 | CV_HAAR_SCALE_IMAGE, Size(30, 30));


结果两种加载方式都不能加载。。。路径是对的,OpenCV2.4.10版本也是支持这个分类器的,那么问题在哪呢?有和我一样情况的同学吗?
...全文
1013 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
把路径改为绝对的路径,"../data/lbpcascade_frontalface.xml"你这个可能项目文件里没有导致不能加载,所以写成绝对的路径。
赵4老师 2016-03-30
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
赵4老师 2016-03-30
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧