使用Opencv时VS工程属性设置

来源:互联网 发布:php开发app应用 编辑:程序博客网 时间:2024/05/16 00:53

最近在做VS环境下的项目中用到opencv做人脸检测,发现Opencv的使用和VS工程的属性设置是由很大关系的。

1,在debug/release模式下,工程属性(配置属性->C/C++->代码生成):运行库“有四种模式:MTd(debug,d表示debug模式,后面同理)/MT(release);MDd/MD,分别对应debug和release模式,对于用MFC做界面(控制台程序也存在这个问题),Opencv开发算法时,要想正常使用Opencv的所有函数,必须将debug(release)模式下的工程属性设置为MDd(MD),否则会发现Opencv的很多函数会出现很奇怪的无语法错误的无法使用的情况

就我自己遇到的就有:

1  imread函数无法使用,但是cvLoadImage可以正常使用。出现的问题是imread读进来的图像是空图像,行列均为零,图像数据指针错误;

2, 人脸识别类无法正常使用。。。load,train等等一些列的成员函数全部挂掉。。。报内存错误。。。


同时,如果将“运行库”设置为MD/MDd后,基于MFC的程序必须设置成”在共享dll中使用MFC“;同样,设置为MTd/MT的话,需要”在静态库中使用MFC“


原因不详,希望高手指点


被这个蛋疼的问题困扰了近一个月。。。。希望对遇到同样问题的人有所帮助。。。。。

0 0
原创粉丝点击