我在Windows XP Professional上使用OpenCV 2.3.1和Visual Studio 10(终极),我无法打开级联文件。
相关代码如下:
String face_cascade_name = "haarcascade_frontalface_alt.xml";
CascadeClassifier face_cascade;
if( !face_cascade.load( face_cascade_name ) ){ message(TEXT("--(!)Error loading face\n"));
我确保使用的当前目录是正确的
GetCurrentDirectory()
函数和xml文件包含在该目录中。
有趣的是,当我编译并运行它时,程序正常工作 控制台模式但我在运行它时收到错误“加载错误” Win32模式(无控制台)。
感谢您的帮助!
答案 0 :(得分:0)
根据OpenCV文档,CascadeClassification对象有一个带有以下原型的加载方法:
bool CascadeClassifier::load(const string& filename)
但你正在喂它String
。它从您的注释中看起来就像它只是将指针值附加到目录字符串。尝试给它正确的参数类型。即:
string face_cascade_name("haarcascade_frontalface_alt.xml");
if( !face_cascade.load(face_cascade_name) { ... }