首页 > 代码库 > VS2012, opencv2.4.6环境搭建

VS2012, opencv2.4.6环境搭建

原本的工作环境是在Linux下,环境很好弄,现在需要假设到windows上也搞一个opencv的服务,为方便调试,特意配置了下环境,记录如下:

1.1 环境准备

  1. 安装 Visual Studio 2012
  2. 下载 opencv 2.4.6  (http://opencv.org/downloads.html)

2.2 安装 opencv
2.2.1. 双击下载的 OpenCV-2.x.x.exe. 选择你想解压到的位置.

2.2.2. 设置环境变量.
步骤一, 打开环境变量设置界面.

方法一: 开始 –> 控制面板 –> 系统和安全 –> 系统 –> 高级系统设置 –> 高级 –> 环境变量

方法二: 开始 –> 控制面板, 右上角搜索”环境变量”, 点击”编辑系统环境变量”-> 环境变量

上述操作之后可看到以下界面:

步骤二, 点击按钮1( 如上图所示“新建”),

变量名填写”opencv”.

变量值填写”{opencv}/build/x86/vc11/bin”. ( {opencv} 替换为你自己的opencv安装目录" )

关闭上图”新建用户变量”窗口

步骤三, 在上上图”环境变量”窗口找到变量”path”( 大小写不敏感 ). 点击按钮2( 如上上图所示”编辑” )

更改”变量值”, 在原有的变量值基础上, 增加”;%opencv%”. 点击确定.

2.3 设置 VS 2012 环境.
2.3.1. 如果现在你的 vs打开着,请关闭重新打开vs.
2.3.2. 新建 Project

下一步, 注意下面几个选项.

完成 项目创建

2.3.3. 设置项目属性.
2.3.3.1 步骤一, 新建 Property Sheet.(注意,这里是原博主写的方法,但是可能会失效,我在设置无效后关闭VS再重新打开依然无效,解决方案是直接设置在项目本身的属性里面,童鞋们请设置后如果无效,请关闭VS再重新打开,看是否设置的项目还存在)

在VS最左侧找到 “Property Manager”( 属性管理 ) 选项卡, 如下图所示. ( 如果没有找到”Property Manager”. 点击菜单栏 “VIEW” –> “Property Manager” 即可看见 )

如下图所示, 在 “Debug|Win32” 上右键单击, 点击”Add New Project Property Sheet”

点击”Add”完成创建.

2.3.3.2 步骤二, 编辑 Property Sheet 属性

如下图所示, 编辑 “opencv244” 的属性.

 

Include Directories 添加 “{opencv}\build\include”.

Library Directories 添加 “{opencv}\build\x86\vc11\lib”; ( {opencv} 替换为你的opencv安装路径 )

图下图所示, 点击”Linker –> Input –> Additional Dependencies”.

添加以下内容:

opencv_core246d.lib 
opencv_imgproc246d.lib 
opencv_highgui246d.lib 
opencv_ml246d.lib 
opencv_video246d.lib 
opencv_features2d246d.lib 
opencv_calib3d246d.lib 
opencv_objdetect246d.lib 
opencv_contrib246d.lib 
opencv_legacy246d.lib 
opencv_flann246d.lib

 

2.3.3.4. 设置 Release 属性

完成”设置项目属性”之后, 你的debug版本便可正常使用. 如果需要设置 release 版本. 重复上面步骤3.

中间有两处不同:

1. 在步骤2.3.3.1中, 需要对 “Release |Win32” 添加 Property Sheet.

2. 在步骤2.3.3.2 中 所有Additional Dependencies 项, XXX246d.lib 都去掉 “d". 比如 “opencv_core246d.lib” 变成”opencv_core246.lib”. 全部去掉后变成:

上面的”246”换成你下载的opencv版本.比如你的版本是2.4.4, 那么所有的246换成244即可.

opencv_core246.lib 
opencv_imgproc246.lib 
opencv_highgui246.lib 
opencv_ml246.lib 
opencv_video246.lib 
opencv_features2d246.lib 
opencv_calib3d246.lib 
opencv_objdetect246.lib 
opencv_contrib246.lib 
opencv_legacy246.lib 
opencv_flann246.lib

 

2.3.4 编写测试代码并运行.
2.3.4.1. 新建 main.cpp. 填写以下代码

 1 #include <opencv2\opencv.hpp> 2  3 using namespace cv;  4  5 int main()  6 {  7     Mat img = imread("C:/Users/coalber/Desktop/tongliya.jpg");  8  9     if (img.empty()) 10     { 11         fprintf(stderr,"Error:load image failed."); 12             return -1; 13     } 14     namedWindow("image", CV_WINDOW_AUTOSIZE);  15     imshow("image", img);  16     waitKey(); 17 18     return 0; 19 } 

于是女神粗线了= =

 

顺带提一下,到目前为止有的同学可能会出现Cannot find or open the PDB file的错误信息

其实解决方案很简单,Tools->Options->Debugging->Symbol 然后把Microsoft Symbol Servers打上钩就行了,再次运行需要下载一些东西,然后就okay了