首页 > 代码库 > VS2012, opencv2.4.6环境搭建
VS2012, opencv2.4.6环境搭建
原本的工作环境是在Linux下,环境很好弄,现在需要假设到windows上也搞一个opencv的服务,为方便调试,特意配置了下环境,记录如下:
1.1 环境准备
- 安装 Visual Studio 2012
- 下载 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了