我的OpenCV版本为2.2.0,原文出自:
http://hi.baidu.com/dongyuejiang/blog/item/4f80b845bb51df2bcefca32f.html,表示感谢。
首先在http://www.opencv.org.cn/下载最新版本的源代码。(说明,通过下载源代码用CMAKE编译,这是第一种方法,如果可以直接得到编译后的文件,可以采用第二种方法,不用下载源代码不用下载CMAKE,直接配置使用即可,不过第一次配置建议采用第一种方法。)
然后我们来到CMAKE的官方网站http://www.cmake.org/下载CMAKE。
接下来,安装CMAKE,解压OPENCV到你将要放置OPENCV的地方。
(一)编译
原理说明:从opencv官网下载下来的是代码包,需要编译后生成静态库方能使用。这个编译过程需要你自己执行,但编译生成后的文件可以直接移植到其他电脑中直接使用,从而跳过多次编译,也就是使用第二种方法,这一部分先介绍第一种方法:编译。
过程详解:
打开CMAKE,在Where is the source code后面填写(或者选择)OPENCV 2.2的安装目录,在Where to build the binaries里填写你将要编译好的OPENCV 2.2 FOR VS2010解决方案的文件夹(我放在OPENCV2.2/VS2010下),接着点击Configure按钮,如果你初期在Where to build the binaries里填写的目录是不存在的,CMAKE将会询问你是否新建一个以此为名称的文件夹,点击是继续,在后续出现的对话框中选择Visual Studio 10,下面的选项选择Use default native compilers,点击Finish继续。过30秒左右之后会出现一个配置窗口(此处注意在CMAKE配置的时候是不能够打开VS2010的),然后勾选BUILD_SHARED_LIBS,BUILD_TESTS,OPENCV_BUILD_3DPARTY_LIBS,以及下面的WITH_JASPER,WITH_JPEG,WITH_PNG,和WITH_TIFF选项,勾好后再次点击Configure,再次点击Configure,然后点击Generate。
完成后在生成文件夹下会出现一个VS2010的解决方案文件OPENCV.SLN,双击打开后,出现OPENCV 的所有工程项目,将选项卡切回到Solution Explorer,将编译模式切换为Debug模式,右键单击Solution OpenCV,选择Rebuild Solution,编译后在单击INSTALL项目,选择Build,之后将编译模式切换为Release模式,重新编译解决方案,再编译INSTALL项目。(事实上直接编译release也就可以了,不用弄debug版本的,否则的话占用空间就会变成原来700多兆的两倍)。
(二)库文件设置
原理说明:编译生成后在之前创建的VS2010文件夹中会生成所有你需要的库文件,这个文件夹中的文件是最关键的,在其他电脑上使用只要将这文件夹拷过去就可以了,大概七百多兆。但要使用还要配置一下,具体过程如下。
过程详解:
在你的解决方案文件夹里面会生成bin目录,include目录,lib目录,在VS2010打开的OPENCV里切回到Property Manager,像上面一样展开Microsoft.Cpp.Win32.user后选择Properties,然后再VC++ Directories里面增加OPENCV 的可执行文件(bin),包含文件(include/opencv与include),以及库文件(lib),确定,退出并保存更改。
在环境变量PATH中添加动态链接库的地址,就是bin的地址。我在运行时候仍然会报错,于是我将vs2010/include目录下的opencv2放到opencv目录中,就可以了。
(三)创建工程
到此OPENCV配置完成,在以后建立OPENCV项目时需在每一个项目里面添加依赖库,方法是在解决方案管理器里面右键选择项目,选择属性,然后再链接器里面选择输入,在依赖项里添加OPENCV的LIB文件夹中的LIB文件的名称,文件名后面有小写字母“d”的为调试模式库,没有“d”的为发布模式库。2.2.0版本参考如下:
opencv_calib3d220.lib
opencv_contrib220.lib
opencv_core220.lib
opencv_features2d220.lib
opencv_ffmpeg220.lib
opencv_flann220.lib
opencv_gpu220.lib
opencv_highgui220.lib
opencv_imgproc220.lib
opencv_legacy220.lib
opencv_ml220.lib
opencv_objdetect220.lib
opencv_ts220.lib
opencv_video220.lib
opencv_calib3d220d.lib
opencv_contrib220d.lib
opencv_core220d.lib
opencv_features2d220d.lib
opencv_ffmpeg220d.lib
opencv_flann220d.lib
opencv_gpu220d.lib
opencv_highgui220d.lib
opencv_imgproc220d.lib
opencv_legacy220d.lib
opencv_ml220d.lib
opencv_objdetect220d.lib
opencv_ts220d.lib
opencv_video220d.lib
(也可以参看此文:http://blog.aguskurniawan.net/post/OpenCV-210-with-Visual-Studio-2010.aspx)