OpenCV是Intel推出的跨平台计算机视觉库,VS是Windows下强大的集成开发工具。两者的结合是图像处理、计算机视觉的利器。下面为大家介绍Windows下如何配置OpenCV开发环境,方便新手上路。博主将以opencv2.4.10+VS2012为例。
1.下载OpenCV For Windows库,你将得到一个压缩包,解压后得到文件夹“opencv_版本号”,如博主的为opencv_2.4.10。解压过程比较长,因为压缩比较高,需要耐心等待,可将其解压到想要的位置,例如D盘,之后为了方便,可以将文件夹改名为opencv,去掉版本号。
2.解压完成,配置系统环境变量。打开opencv文件夹,进入D:\opencv\build\x86\vc11\\bin目录(解释一下:VS不同版本的opencv库也是不同的,版本号可以在VS菜单栏点击帮助查看,例如VS2010为10.0,2012为11.0),复制地址栏地址,打开控制面板->系统->高级系统设置->环境变量,在系统变量中找到path,双击进行编辑,加入一个分号与之前的环境变量进行分割,再粘贴先前复制的地址。
3.新建工程。打开VS,新建win32控制台项目,选择空项目,完成。新建一个源文件main.cpp,添加如下内容。
//#include "myHead.h"
#include <iostream>
#include <opencv2/opencv.hpp>
#pragma comment(lib, "opencv_core2410d.lib")
#pragma comment(lib, "opencv_highgui2410d.lib")
using namespace std;
using namespace cv;
int main()
{
Mat img=imread("lena.jpg");//此处可以替换成你电脑里面的一张图片,写对路径即可
cvNamedWindow("test");
imshow("test",img);
waitKey(0);
return 0;
}
解释:这个例子很简单,就是打开一个窗口,显示lena.jpg这张图片。需要包含头文件opencv2/opencv.hpp,链接库core和highgui,库文件命名为opencv_库名_版本号d.lib,d表示debug,还有一种release版本,末尾没有d。这是因为调试时有两种模式分别为debug和release模式,如下图所示,库的版本要与调试模式匹配。当然,你会从网上看到有的人是在项目属性-输入-附加依赖项中添加所需要的库,但是这样每次都需要重新配置属性,不如修改代码来得方便。
waitKey的参数是窗口保持的时间,单位为毫秒,时间到了窗口自动关闭,如果取零则窗口不会主动关闭。
4.配置工程属性。如果不想每次新建工程时都去重新配置属性,下面的经验将很实用。新建一个空白文档,添加下面的内容,注意将IncludePath和LibraryPath改成你自己的,保存重新命名为openCV.props(注意:需要在文件管理器选项中取消隐藏已知文件类型的扩展名才行),将此文件保存,以后可以一直使用。在VS菜单栏选择视图-属性管理器,在项目名处右键-添加现有项目属性表,找到刚才新建的openCV.props,添加后发现Debug和Release下面都增加了openCV项。对每个新建的工程都这样导入这个属性,将非常方便。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<IncludePath>D:\opencv\build\include;$(IncludePath)</IncludePath>
<LibraryPath>D:\opencv\build\x86\vc11\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup />
<ItemGroup />
</Project>
5.验证成果的时候到了。在工具栏点击本地Windows调试器,顺利的话程序会正常运行。如下图所示:
6.补充说明,如果想要在release模式下运行,请在调试器按钮右边选择release,并且将#pragma语句中库名末尾的d去掉,release模式下的运行速度会比debug快,不过这个程序太简单,以后做稍大点项目的时候可以看出差别。
以上就是搭建opencv环境的教程,注意保存属性表,这样以后每次新建工程就可以一键配置了,是不是很方便呢?