Win7系统Visual Studio 2013配置OpenCV3.1图文详解
OpenCV3.1对硬件加速和移动开发的支持相对于老版本都有了较大改进,支持新的开发工具,更易于扩展,配置方式也比以前简单一些。但一直用OpenCV2.4,直到最近准备写点东西才抽出时间更新了一下开发环境:Win7,64bit系统,安装VS2013并配置OpenCV3.1。因为OpenCV3.1只有针对vc12(对应vs2013)和vc14(对应vs2015)两个版本有编译好的文件,如果继续使用vs2013之前的版本则需要自己用CMake编译。本文主要包括以下内容:
下载安装Visual Studio 2013
下载安装OpenCV3.1
在工程中配置OpenCV3.1
测试安装的小程序
可以在微软的官网下载各个版本的Visual Studio,下载地址:https://www.visualstudio.com/zh-hans/downloads/
正常安装VS2013后,需要登录Microsoft账户,如果没有则需要新建一个并登录一次。
如果不注册VS2013,评估版需要每隔30天登录一次Microsoft账户。如果有注册号则可通过以下方式注册:
启动Visual Studio 2013->帮助->注册产品->更改我的产品许可证->输入正确的产品密钥->注册成功
OpenCV3.1版本的特性可参考以下博文:http://blog.csdn.net/wangyaninglm/article/details/50461054
可以在OpenCV的官网下载相应版本的OpenCV安装文件,下载地址:http://opencv.org/releases.html
根据需要下载对应的安装包,此处我们选择Win Pack
下载完成后双击opencv-3.1.0.exe自解压文件,选择安装目录,这里我选择D盘根目录。
单击:“Extract”提取文件。
解压结束后即完成了“安装”。安装完成在指定安装目录下出现opencv目录,安装成功。
要在vs工程中使用OpenCV需要手动完成以下配置:
设置用户环境变量(可选)
设置系统环境变量(必选)
配置工程的包含目录(必选)
配置工程的库目录(必选)
配置工程的附加依赖项(必选)
下面我们就来逐一完成以上配置。
这一步是为了让我们在自己计算机上编写的程序便于移植到OpenCV安装目录不同的另外的计算机上而进行的操作。如果不配置用户变量,则注意在下面的几步中需要使用OpenCV安装的绝对路径。配置方法如下:
计算机->右键属性->高级系统设置->系统属性->高级->环境变量->用户变量->新建
我们新建一个用户变量名命名为 OPENCV31,因本机安装在D盘根目录,所以变量值设为: D:\opencv\build设置系统的环境变量Path是为了让编译器在编译过程中能找到OpenCV的动态链接库。在刚才的界面下方,找到系统环境变量:Path,单击“编辑”,
增加:%OPENCV31%\x64\vc12\bin
注意相邻环境变量需要用英文的分号 ; 隔开。vc12是VS2013的版本号。启动vs2013,新建一个Visual C++的Win32控制台应用程序,命名为test_vs2013_opencv3.1
使用默认设置,点击“完成”。然后将项目属性->平台->x64,如果平台的下拉列表中没有x64,则通过右侧的“配置管理器“新建一个x64平台。添加包含目录以便在工程中引用OpenCV库的头文件时编译器能找到这些.h头文件的位置。
项目->属性->配置属性->VC++目录->包含目录->编辑->添加:
$(OPENCV31)\include\opencv2
$(OPENCV31)\include\opencv
$(OPENCV31)\include
如果前面没有设置用户环境变量OPENCV31,则此处需要填绝对路径:
D:\opencv\build\include
D:\opencv\build\include\opencv
D:\opencv\build\include\opencv2
配置工程的库目录是告诉编译器OpenCV的动态链接库的引入库.lib文件的位置在哪。
项目->属性->配置属性->VC++目录->库目录->编辑->添加:
$(OPENCV31)\x64\vc12\lib
同样,如果没有配置用户环境变量OPENCV31,此处使用绝对路径:
D:\opencv\build\x64\vc12\lib
包含目录和库目录都配置好后:
添加附加依赖项是告诉编译器,编译时用到了哪些.lib库文件。
项目->属性->配置属性->链接器->输入->附加依赖项->编辑->添加:
如果配置是Debug则添加opencv_world310d.lib;如果配置是Release则添加opencv_world310.lib
这个配置比2.x版本简单太多为了验证上述安装配置的正确性,我们在test_vs2013_opencv3.1.cpp中添加如下代码
#include "stdafx.h"
#include "opencv.hpp"
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
cv::Mat image = cv::imread("F:/images/Lena.jpg", 1);
if (!image.data)
{
cout << "image load error" << endl;
system("pause");
return 0;
}
cv::imshow("Lena", image);
cv::waitKey();
return 0;
}
注意载入图像时的路径的写法
cv::imread("F://images/Lena.jpg",1); //√
cv::imread("F:/ images/Lena.jpg",1); //√
cv::imread("F:\images\Lena.jpg",1); //×
运行结果:
如果载入错误,命令行将提示如下信息:
转载请注明出处(本文更新链接):http://blog.csdn.net/iracer/article/details/75578683