一、安装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

delphi opencv安装教程 opencv2.4.9安装_Visual


四、使用Visual Studio编译opencv

1、使用上面的编译目录(D:\opencv249\opencv\opencv_build\x64\vc11)中找到OpenCV.sln,点击使用Visual Studio 2012打开,等到加载完文件。

2、编译debug版本库。在"解决方案(OpenCV)"上面右击打开菜单,重新生成解决方案。等待VS生成完成。如果没有错误,点击配置管理器,在弹出的页面中,将install的生成项勾选上。


图2

delphi opencv安装教程 opencv2.4.9安装_ide_02


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

delphi opencv安装教程 opencv2.4.9安装_Visual_03


六、配置Visual Studio 2012

1、新建一个空的控制台工程,右击该工程名字,点击属性,如图4。


图4

delphi opencv安装教程 opencv2.4.9安装_ide_04


2、在test03属性页中,点击配置选择Debug,平台选择x64,如果没有则新建一个x64平台。在“配置属性>VC++目录”中配置包含目录,库目录和源目录。


图5

delphi opencv安装教程 opencv2.4.9安装_opencv_05


图6

delphi opencv安装教程 opencv2.4.9安装_ide_06


图7

delphi opencv安装教程 opencv2.4.9安装_opencv_07


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,只能配置其中一种。看个人意愿了。