一、安装cmake
从cmake的官方网站下载最新版的cmake,选择Windows(Win32 Installer)平台的进行下载。
安装时请勾选“Add CMake to the system PATH for all users”。
二、下载安装opencv2.4.9
从opencv的官方网站下载windows版本的opencv2.4.9,下载完成后,运行opencv-2.4.9.exe,安装到某个目录下,比如我的安装在D:\opencv249
三、运行cmake来生成工程
1、在开始菜单中找到cmake(cmake-gui),点击运行cmake的GUI工具。
2、在where is the source code 选择opencv的安装目录,如我的D:\opencv249\opencv\sources
3、在where to build the binaries里面选择要将opencv编译到的目录下面,如我的D:\opencv249\opencv\opencv_build\x64\vc11
4、点击configure,在弹出的对话框内选择Visual Studio 11 Win64(32位的系统,显示的可能是Win32)。
5、这是cmake会开始生成,等它完成后,再次点击configure(上面的红色会消失),然后点击Generate。
图1
四、使用Visual Studio编译opencv
1、使用上面的编译目录(D:\opencv249\opencv\opencv_build\x64\vc11)中找到OpenCV.sln,点击使用Visual Studio 2012打开,等到加载完文件。
2、编译debug版本库。在"解决方案(OpenCV)"上面右击打开菜单,重新生成解决方案。等待VS生成完成。如果没有错误,点击配置管理器,在弹出的页面中,将install的生成项勾选上。
图2
3、编译Release版本库。操作方法本Debug的一样,只不过要切换为Release模式,即图2里的Release。
4、由于运行的是64位平台,所以以后新建工程时记得要改运行平台为x64。
5、从D:\opencv249\opencv\build目录下拷贝include目录到D:\opencv249\opencv\opencv_build\
五、配置环境变量
右击“我的电脑” >> “属性” >> 高级系统设置 >> 高级 >> 环境变量 >> 系统变量,找到PATH,点击“编辑”,新建两条记录,分别是D:\opencv249\opencv\opencv_build\x64\vc11\bin\Debug和D:\opencv249\opencv\opencv_build\x64\vc11\bin\Release
备注:有些人只需要配置一条,D:\opencv249\opencv\opencv_build\x64\vc11\bin就可以了,但我的这样配置了不能识别到,只能配置到Debug和Release才能识别到。
配置完环境变量后,注销当前用户,重新登录该用户。
图3
六、配置Visual Studio 2012
1、新建一个空的控制台工程,右击该工程名字,点击属性,如图4。
图4
2、在test03属性页中,点击配置选择Debug,平台选择x64,如果没有则新建一个x64平台。在“配置属性>VC++目录”中配置包含目录,库目录和源目录。
图5
图6
图7
3、在”链接器>输入>附加依赖项"中添加如下的库:
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_haartraining_engined.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib
4、点击应用,确定。Release的也可以跟Debug的操作一样配置,只不过要在配置里选择Release的x64平台。Release要添加的附加依赖项如下:
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_haartraining_engine.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
opencv_nonfree249.lib
opencv_objdetect249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_videostab249.lib
5、在test02工程中添加一个cpp文件,添加如下的代码进行测试库是否正常运行。可分别选择Debug和Release模式进行编译运行,如果没问题,即OK了。
#include <iostream>
#include <algorithm>
#include <opencv2/opencv.hpp>
using namespace std;
int main()
{
cv::Mat img;
img = cv::Mat::zeros(100, 100, CV_32S);
cv::namedWindow("111");
cv::imshow("111", img);
cv::waitKey(0);
return 0;
}
6、以上配置的只是针对当前工程有效,新建另一个工程则不能继承以上的配置。如果想要新建工程不去手工配置opencv的话,则找到属性管理器,打开对应平台的Debug和Release配置项进行配置,那么新建的工程则 会继承该配置。不过,好像不能分别配置Debug和Release,只能配置其中一种。看个人意愿了。