Vs2010+opencv2.3.1+win7配置和可能出现的问题
配置步骤
1、在http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3.1/下载 OpenCV-2.3.1-win-superpack.exe。下载到D:\Program Files\,双击点开.exe,如下图
2、解压vs2010的压缩包并安装vs2010,安装vs2010可能需要一点时间,要耐心等待。
3、设置环境变量(很重要),
例如,我的环境变量就设置为D:\Program Files\opencv\build\x86\vc10\bin,因为我之前把opencv安装在D:\Program Files下。
设置环境变量的步骤:桌面->计算机->点击右键->属性->高级系统配置->环境变量->系统变量->PATH->D:\Program Files\opencv\build\x86\vc10\bin(注:输入你的路径)->确定
如下图
设置完后点确定,确定,确定,确定
4、打开VS2010,新建项目->win32控制台应用程序->设置一个文件名称HELLOopencv,在设置存放文件的路径,然后确定。
5、然后点击下一步
6、然后选择控制台应用程序,选择空项目,点击完成。
7、然后进行配置,项目->属性管理器->HELLOpencv会出现如下图所示。
VC++目录->包含目录设置如下:
D:\Program Files\opencv\build\include
D:\Program Files\opencv\build\include\opencv
D:\Program Files\opencv\build\include\opencv2
库目录设置如下:
D:\Program Files\opencv\build\x86\vc10\lib
链接器->输入->附加依赖项设置如下:
Debug:
opencv_calib3d231d.lib
opencv_contrib231d.lib
opencv_core231d.lib
opencv_features2d231d.lib
opencv_flann231d.lib
opencv_gpu231d.lib
opencv_highgui231d.lib
opencv_imgproc231d.lib
opencv_legacy231d.lib
opencv_ml231d.lib
opencv_objdetect231d.lib
opencv_ts231d.lib
opencv_video231d.lib
同样release配置同上,唯一不同的就是链接器->输入->附加依赖项是每项都没有d
opencv_calib3d231.lib
opencv_contrib231.lib
opencv_core231.lib
opencv_features2d231.lib
opencv_flann231.lib
opencv_gpu231.lib
opencv_highgui231.lib
opencv_imgproc231.lib
opencv_legacy231.lib
opencv_ml231.lib
opencv_objdetect231.lib
opencv_ts231.lib
opencv_video231.lib
8、重启计算机
9、测试程序:
图像:
但是一运行程序会出现一些错误。
1、无法启动程序,系统找不到指定的文件
如果遇见这类的错误,可能的原因应该是输出目录和输出文件不相符,需要改成一致的。
输出目录在,属性->通用属性->常规;
输出文件在,属性->链接器->常规;
另一种可能是附加依赖项中的debug后面都是带d,而release上是没有d,需要认真检查一下。
2、应用程序无法正常启动0xc000007b
这种错误可能是你的环境变量设置和库目录上设置的位数不一致,也就是环境变量设置的是64位的,库目录设置的是32位的,前后无法照应。解决方法是:
新建: 变量名:opencv_include
变量值:D:\Program Files\opencv\build\include;
D:\Program Files\opencv\build\include\opencv;
D:\Program Files\opencv\build\include\opencv2;
变量名:opencv_lib
变量值:D:\Program Files\opencv\build\x86\vc10\lib;
变量名:opencv_link
变量值:D:\Program Files\opencv\build\x86\vc10\lib\
PATH:D:\Program Files\opencv\build\x86\vc10\bin
3、图片值溢出等等这种情况可能是,读取的图片格式可能不正确,要用\\,而且要用英文格式下的。
4、找不到tbb.ll
解决方法是将D:\Program Files\opencv\build\common\tbb\ia32\vc10中的tbb.ll放到D:\Program Files\opencv\build\x86\vc10\bin中。
第二种,如果是提示缺少tbb_debug.dll文件,则需要将tbb,dll文件复制粘贴到
D:\Program Files\opencv\build\x86\vc10\bin中,并将文件改名tbb_debug.
5、exception
6、当安装VS2010时会出现这样的错误(这种错误极少出现)
删去C:\Users\Administrator\AppData\Roaming\Microsoft\VisualStudio
这个文件夹中有两个VisualStudio文件夹,只删掉可以删去的那个就可以。
7、assert.h无法找到这个文件:
解决的方法就是首先看有没有这个文件,它在vs下VC下,如果没有,添加;如果有,看是否可以打开,如果可以,则看项目属性下的包含目录,继承值是否有$(VCInstallDir)include,
没有的话,添加;如果有,则看是否继承。
8、无法找见.lib文件:
解决的方法是看vc++目录下的库文件是否进行继承了。
9、当遇见无法找到“cvtres.exe”或是文件损坏或不存在时,解决的办法是将“cvtres.exe”文件的安装目录下的“cvtres,exe”删除,记住一定时安装目录下的这个文件删除,不要有后顾,直接删掉没问题,我是还把C:/progrem/mirco visual 10.0/bin/VC/cvtres,exe删掉了。(你生成的这个文件应该是一套的,所以生成以下就会有新的文件进行替换,所以要把旧的文件(日期靠前的文件)进行删掉。)