VS2013配置 OpenCV3.0【实测有效】
-
下载OpenCV3.0.0
到OpenCV官网下载对应版本http://opencv.org/downloads.html,然后安装到相应目录,本例是安装到D:\opencv300目录中。 -
配置环境变量
2.1配置系统变量,首先找到“计算机”,右键“属性”–>“高级系统设置”–>“环境变量”–>“系统变量”。2.2在系统变量中新建一个变量”OPENCV”,值为”D:\opencv300\opencv\build”,即找到OpenCV安装目录下的build的目录,因你安装目录不同而不同,切记复制。
2.3在系统变量Path末尾添加“;%OPENCV%\x86\vc12\bin;%OPENCV%\x64\vc12\bin”,为了适应Win32和x64平台之间的切换,所以同时添加了两个bin目录。注意那个分号,而最后又没有分号。其他版本VS也是类似的,vc12对应vs2013,vc11对应vs2012,vc10对应vs2010。
-
OpenCV配置文件opencv300.props
新建一个后缀为.props的属性文件,然后将下面的配置代码复制进去,然后仔细阅读后文的相关说明,进行相应的更改。
<?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>$(OPENCV)\include;$(OPENCV)\include\opencv;$(OPENCV)\include\opencv2;$(IncludePath)</IncludePath>
<LibraryPath Condition="'$(Platform)'=='Win32'">$(OPENCV)\x86\vc12\lib;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Platform)'=='x64'">$(OPENCV)\x64\vc12\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<Link Condition="'$(Configuration)'=='Debug'">
<AdditionalDependencies>opencv_ts300d.lib;opencv_world300d.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AddtionalLibraryDirectories>%(AddtionalLibraryDirectories)</AddtionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup>
<Link Condition="'$(Configuration)'=='Release'">
<AdditionalDependencies>opencv_ts300.lib;opencv_world300.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AddtionalLibraryDirectories>%(AddtionalLibraryDirectories)</AddtionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
对这个文件需要说的有几点,虽然粘在这了,如果大家对于XML配置文件有所了解的话,阅读节点名字就很清楚其作用。
3.1<IncludePath>
这个节点包含头文件目录设置,注意$(OPENCV)
变量,这个变量就是第二步新建的系统变量,为了适应性,包含3个include目录,大家可以自己打开相应目录查看一下会更加清楚。
3.2<LibraryPath>
这个节点包含lib文件目录设置,可以看出为了适应性,通过条件来判断是win32还是x64的应用来包含对应的lib目录,这里可能有点多余,因为之前有说过vs2013是32位版本的,但这里只是为了适应性。
3.3<Link Condition="'$(Configuration)'=='Debug'">
和<Link Condition="'$(Configuration)'=='Release'">
通过条件来判断是Debug版本的项目还是Release版本的项目,相应包含的lib会有所不一样,仔细观察可以看到Debug会在每个lib文件名中加入d字母,例如opencv_ts300d.lib
和opencv_ts300.lib
的区别。其实包含那么多lib是多余的,在OpenCV3.0.0有所改变,只需要两个lib即可,其为opencv_ts300d.lib;opencv_world300d.lib
,Release版本对应去掉d字母即可。再啰嗦一点,这些lib都是步骤3.2中lib目录下面的lib文件,千万不要胡乱复制,不嫌麻烦最好自己一个一个对应添加一遍,仅需要一遍即可,以后只需添加这个配置文件就完成了OpenCV的配置,我就是一个一个对应添加过才是清楚其文件所需。
4. 为项目添加OpenCV配置文件opencv300.props
创建一个Win32控制台应用程序, 然后在“属性管理器”中添加步骤3所建立的OpenCV配置文件。
当需要改为Release版本时,只需要在Release版本中添加配置文件即可。
5. 测试代码及结果
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
// 读入一张图片,图片来源OpenCV的数据 ...opencv\sources\samples\data\目录下
Mat img = imread("lena.jpg");
// 创建一个名为 "Demo"窗口
namedWindow("Demo");
// 在窗口中显示图片
imshow("Demo", img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17