OpenCV的配置流程及常见问题
最近开始学习OpenCV,弄好了OpenCV的配置,总结一下自己遇到的问题及解决的方法。
安装的平台:VS2010+OpenCV2.4.9
参考的资料:
http://blog.csdn.net/poem_qianmo/article/details/19809337
浅墨的博文中对Opencv的配置进行了详细的讲解,下面主要总结自己在配置过程中遇到的一些问题及解决方案:
1. Cannot find or open the PDB file
调试程序是会出现这个问题,可直接运行程序。http://bbs.csdn.net/topics/350149584
2. OpenCV Error: Assertion failed (size.width>0 && size.height>0) in unknown function, file C:\opencv\modules\highgui\src\window.cpp, line 261
导致这个问题的原因,遇到的主要有2个原因:1)读入图片的路径未设置正确;2)若使用imread()读入图片,imread()无法载入图片,主要是库文件设置有问题。
原因1),可设置为绝对路径;或是将图片文件放在该工程目录下,即文件默认添加的路径下。
原因2),使用imread()无法读入图片信息,但是利用cvLoadImage()却可以正常读入,主要是链接库的配置部分的问题。
在进行链接库配置时,一般是将带d的和不带d的全部都加入,但是在运行的时候,一般会遇到在debug下可以运行而在release下不能运行,或是正好相反,这地方好像和你加入库文件的顺序有关,若先加入的是带d的lib库文件,则在debug下可以运行,反之则是release下可正常运行。
解决方法:在浅墨的博文中也有提到,在当前工程的属性页中把不能正常运行模式下对应的lib库文件添加到【属性】->【链接器】->【输入】->【附加的依赖项】目录下。
3. R6010 Error
可能由于问题2中无法读入文件导致的问题。参考:http://stackoverflow.com/questions/7773630/executable-not-running-r6010
4. 测试程序
#include<iostream>
#include<opencv2\core\core.hpp>
#include<opencv2\highgui\highgui.hpp>
using namespace cv;
int main()
{
Mat img=imread("F:\\test\\connect\\Debug\\Car.jpg");
if (img.empty()){
cvNamedWindow("Can not find the image");
waitKey();
return -1;
}
cvNamedWindow("My Image");
imshow("My Image",img);
cv::waitKey(5000);
return 1;
}