cvLoad()加载分类器总是失败--绝对路径与相对路径

编译链接都没有问题,但运行时为什么cvLoad()总是失败呢?返回值总是NULL。相应的xml文件和图片文件我都已经保存在项目所在目录下了。
#include<cxcore.h>
#include<highgui.h>
#include<cv.h>

int main()
{
const char *cascadeName="haarcascade_frontalface_alt2.xml";
CvHaarClassifierCascade *cascade=(CvHaarClassifierCascade*)cvLoad(cascadeName,0,0,0); 
if(cascade)
return 0;
else
return 1;
}

XML文件的路径应该用绝对路径,试试吧
"D:\\Program Files\\OpenCV\\data\\haarcascades\\haarcascade_frontalface_alt2.xml"
即可以!但是问题是为什么要加  \\  ,而绝对路径不是只要 \  就行了吗?比较好奇。

绝对以及相对路径(转):

一、基本概念

  1、相对路径-顾名思义,相对路径就是相对于当前文件的路径。网页中一般表示路径使用这个方法。

2、绝对路径-绝对路径就是你的主页上的文件或目录在硬盘上真正的路径。绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,比如,你的Perl 程序是存放在 c:/apache/cgi-bin 下的,那么 c:/apache/cgi-bin就是cgi-bin目录的绝对路径

在网络中,以http开头的链接都是绝对路径,绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,绝对路径一般在CGI程序的路径配置中经常用到,而在制作网页中实际很少用到。

二、相对路径使用的特殊符号

以下为建立路径所使用的几个特殊符号,及其所代表的意义。

"./":代表目前所在的目录。

"../":代表上一层目录。

以"/"开头:代表根目录。

 

根目录下有Site1和Image/Image.jpg,Site1下有Page1.html文件和Site2文件夹。Site2下有Page2.html和Page2Image.jpg图片文件。

1、文件在当前目录

         Page2.html访问Page2Image.jpg

         <img src=”./Page2Image.jpg”>或者<img src=”Page2Image. jpg”>

   2、文件在上一层目录

              Page1.html访问Image下的Image.jpg

              <img src=”../Image/Image.jpg”>

              Page2.html访问Image下的Image.jpg

              <img src=”../../Image/Image.jpg”>

3、文件在下一层目录

         Page1.html访问Site2文件夹下的Page2Image.jpg

              <img src=” ./Site2/Image.jpg”><img src=” Site2/Image.jpg”>

 4、根目录表示法,任何页面访问Image下的Image.jpg图片

              <img src=”/Image/Image.jpg”>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值