OpenCV包含人脸检测样本代码。我尝试在我的应用程序中使用OpenCV 2.2库中的facedetect.cpp
。然而,我碰巧遇到了一个运行时问题
OpenCV error: Null pointer(Null filename) in unknown function, file........ocvopencvmodulescoresrcpersistence.cpp,line 2571
我在谷歌上搜索了一下,发现很多人都遇到了这个问题,但没有一个好的解决方案。代码加载.xml文件时出现此问题。我的解决方案在这里:
const char *cascadeNameChar=cascadeName.c_str();
const char *nestedCascadeNameChar=nestedCascadeName.c_str();
......
if( !cvLoad( nestedCascadeNameChar ) )
if(!cascade.load(cascadeName))
然后它对我有用。我在Visual Studio 2008上运行它。
Mates,我已经解决了这个问题。当我遇到这个问题时,我使用了opencv2.2+VisualStudio2008。Opencv2.2是二进制版本,我从http://sourceforge.net已针对vc2010进行了编译。我刚刚下载了vc2010,并在上面试用了opencv2.2版本的facedetect.cpp
应用程序。它很有效!persistence.cpp
的运行时错误已消失。