我正在尝试使用OpenCv 2.3进行人脸检测。我试图在我的项目中加载"haarcascade_frontalface_alt_tree.xml“,但我总是无法加载xml文件。
CvHaarClassifierCascade * pCascade = 0; // the face detector
const char* file ="C:\OpenCV2.3\opencv\data\haarcascades\haarcascade_frontalface_alt_tree.xml" ;
pCascade = (CvHaarClassifierCascade*) cvLoad(file , NULL, NULL, NULL);
if (!pCascade) {
exit(-1); // unable to load xml
}我相信我正经历着和this problem一样的问题。
在使用cvLoad命令之前,我曾尝试加载图像,但无济于事。
我使用的是OpenCV 2.3,我的配置就像在这个tutorial中一样。
我正在使用这些库(我假设我的配置是正确的,文件存在并且可以使用Notepad++打开)。
#include <stdio.h>
#include "opencv2\opencv.hpp"
#include "cv.h"
#include "highgui.h"
//#include "cvaux.h"
using namespace cv;
#pragma comment(lib, "opencv_core230d.lib")
#pragma comment(lib, "opencv_highgui230d.lib")
//#pragma comment(lib, "opencv_contrib230d.lib")
//#pragma comment(lib, "opencv_calib3d230d.lib")
//#pragma comment(lib, "opencv_features2d230d.lib")
//#pragma comment(lib, "opencv_flann230d.lib")
//#pragma comment(lib, "opencv_gpu230d.lib")
#pragma comment(lib, "opencv_haartraining_engined.lib")
#pragma comment(lib, "opencv_imgproc230d.lib")
//#pragma comment(lib, "opencv_legacy230d.lib")
//#pragma comment(lib, "opencv_ml230d.lib")
//#pragma comment(lib, "opencv_objdetect230d.lib")
//#pragma comment(lib, "opencv_video230d.lib")发布于 2013-04-05 16:03:09
检查文件名为"haarcascade_frontalface_alt.xml“的字符串是否正确。我遇到了这个问题,目录分隔符无法识别。我将“\”字符更改为“/”,并且教程起作用了。供您参考,我使用的是在Windows7、Visual Studio 2012和opencv 2.44上运行Parallels的MacOS 10.8.3 -我使用的是本教程的版本2
https://stackoverflow.com/questions/7158039
复制相似问题