今天搞了大半天的opencv配置,出现了很多问题,也查阅了很多资料。最后终于显示出了lena的美貌。
现将相关步骤和问题、解决方法记于此,以助各人,同时也给自己参考。
我的环境是win7 64bit + opencv 2.4.4 +vs2010
一.安装opencv
在官网上opencv.org上下载最新版的opencv,接着就是解压缩到某个盘中,我的是D盘。
此不详写。
二.设置环境变量
本人是菜鸟,对环境变量的具体定义不太了解。百度的定义是环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
下面叙述此步骤
右击“计算机”----->属性----------->高级系统设置
然后就出现此界面
然后选择环境变量,出现用户变量和系统变量。以下出现的路径都是相对于个人而言的,请大家根据自己的情况进行修改,vc10表示vs2010.
A。对于用户变量
在我的电脑上,用户变量原本只有TEMP和TMP
1.没有PATH,就新建PATH。变量名是PATH,变量值是D:\opencv\opencv\build\x86\vc10\bin
究竟是选择x86还是x64呢?这要看你选择的编译器是win32和x64的。这与自己的操作系统无关。
2.新建变量名OpenCV,变量值为D:\opencv\opencv\build
B。对于系统变量
1.在Path上继续添加路径,用分号隔开,路径为D:\opencv\opencv\build\x86\vc10\bin
三.配置vs2010环境
1.新建一个项目,然后在视图中选中属性管理器,双击microsoft.cpp.win32.user
之后便弹出窗口,如下图所示,选择VC++目录
然后修改里面的可执行文件目录、包含目录、库目录
可执行文件目录修改为 D:\opencv\opencv\build\x86\vc10\bin
包含目录改为
D:\opencv\opencv\build\include
D:\opencv\opencv\build\include\opencv
D:\opencv\opencv\build\include\opencv2
库目录改为
D:\opencv\opencv\build\x86\vc10\lib
2.然后选择链接器的输入,将附加依赖项改为D:\opencv\opencv\build\x86\vc10\lib文件夹中的所有lib文件
如下图所示
注意要用分号隔开。
四.测试项目
/*************************************************** lena.cpp is to open the lena image. Weili Wu @ 2014.4.2 ****************************************************/ #include <iostream> #include <opencv2\opencv.hpp> using namespace cv; void main () { IplImage *src; src=cvLoadImage("lena256.bmp"); cvNamedWindow ("lena256",CV_WINDOW_AUTOSIZE); cvShowImage ("lena256",src); cvWaitKey(0); cvDestroyWindow ("lena256"); cvReleaseImage (&src); }
至此,假如能顺利显示图像,那就完成了。
五.出现的错误
1.我曾经出现过 cvLoadImage等函数 无法解析命令
解决办法:这可能是链接器的附加依赖项没有设置好。或者是编译器是win32,但那些目录写成了x64的库
2.出现了应用程序无法运行(0x000007b)
解决办法:同样是32位和64位不兼容所造成的。看回环境变量有没有设置好。编译器是win32的,记得要写成x86的。若编译器是x64的,要写成x64。
最后,如果还没解决,可以看这篇文章,这里说的更详细。http://blog.youkuaiyun.com/poem_qianmo/article/details/19809337