需要工具:



vs2012+opencv2.4.5+Cmake2.8.10.2



这里感谢 点击打开链接这篇博客给我的指导 部分内容引用于此


环境搭建


用CMake生成VS2012的OpenCV工程

新建文件夹OpenCVProject:E:\OpenCVProject(用于存放自己的OpenCV编译工程)。

打开CMake,"Browse Source..."选择Opencv的目录E:\opencv(内有CMake的组态档"CMakeLists.txt"),"Browse Build..."选择刚才自己新建的工程存放路径"E:\OpenCVProject"。点击Configure按钮,在出现的对话框中选择Visual Studio 11(如果编译64位dll注意选择64位VS11配置),默认Use default native compilers,Finish继续。

opencv部署在linux_CMake


不用管继续点 configure 然后 点击Generate生成Opencv工程,退出CMake。

然后我们进入E:\OpenCVProject 这个目录如图:

能看见一个opencv.snl 的vs文件 用vs打开它

打开生成的Opencv工程,选择CMakeTargets下INSTALL,右键生成  生成Debug版dll,lib

opencv部署在linux_CMake_02


切换编译模式为Release模式,重复上一步生成Release版dll,lib。

opencv部署在linux_opencv_03


上面两步后就能看到最终Debug版和Release版的dll,lib,以及文档目录doc,头文件目录include(bin内为两个版本dll,lib内为两个版本lib)。

然后进入E:\OpenCVProject 拷贝lib 和 bin 文件 到你E:\opencv\opencv2.4.5中

opencv部署在linux_文件目录_04

可能你要问这两个文件是干啥的,我当初也有这样的疑问,这里我就简单说一下吧

首先你下载的opencv是源代码 然后你用Cmake 这个东西能帮你把这些源代码生成一个vs的工程

然后就像普通vs的工程一样你就可以打开工程编译了

编译好后不是一个软件而是这些源代码的类库,和连接文件 也就是lib和bin中的东西

这才是我们需要的 因为我们编程序就是调用这些动态库来使用的!

现在我们来编写第一个测试程序看看是否搭建完成!

打开你的vs 新建一个控制台程序 然后在cpp中输入如下代码 c盘里随便放一张图片取名 pp.jpg

#include "stdafx.h"
#include <opencv2\opencv.hpp>

using namespace cv;
using namespace std;
int main()
{
	Mat img = imread("c:/pp.jpg");
	if(img.empty())
	{
		cout<<"error";
		return -1;
	}
	imshow("pp的靓照",img);
	waitKey();

	return 0;
}

代码考进去,是不是傻眼了!!全是错误是吧!呵呵 不要急 引文我们需要配置一些东西

在你的工程上点击右键-》属性->vc++目录-〉

右边 可执行目录文件 添加 你上面那个bin目录位置/Release  和 bin目录位置/Debug

opencv部署在linux_CMake_05


opencv部署在linux_opencv部署在linux_06


包含目录

你opencv文件夹下的include 和 include/opencv 和 include/opencv2 

然后还有modules文件下 所有文件里的 include目录  有很多是吧 没事慢慢加吧!

opencv部署在linux_opencv部署在linux_07


运行库添加 刚那个lib文件目录/Debug 就行 也可以把lib文件目录/Release 这个也加上 这里我没有加

opencv部署在linux_文件目录_08


然后右边选连接器->输入 附加依关系 添加

opencv_calib3d245d.lib
opencv_contrib245d.lib
opencv_core245d.lib
opencv_features2d245d.lib
opencv_flann245d.lib
opencv_gpu245d.lib
opencv_highgui245d.lib
opencv_imgproc245d.lib
opencv_legacy245d.lib
opencv_ml245d.lib
opencv_nonfree245d.lib
opencv_objdetect245d.lib
opencv_photo245d.lib
opencv_stitching245d.lib
opencv_ts245d.lib
opencv_video245d.lib
opencv_videostab245d.lib

opencv部署在linux_opencv部署在linux_09


然后确定

最后步吧bin文件里的两个文件 Debug 和Release 添加进系统环境变量

opencv部署在linux_ide_10


好了 运行一下吧 就可以显示你那个图片了!

opencv部署在linux_opencv部署在linux_11


这样我们就的环境变量就搭建完了!