前言:
- OpenCV3.1.0版本以后已经将x86这个目录删除,在VS 2015环境下不能进行32位的OpenCV编译。
- 本文使用Windows10系统
- 2017年12月28日修改错误和更新方法:Debug和Release模式下,属性表的附加依赖项配置顺序相同会导致错误。相关信息正文已更新。
一、 准备
1.安装Visual Studio 2015
2.在OpenCV网站下载OpenCV3.2.。
3.安装OpenCV。默认安装在C盘Program Files文件夹下,也可安装在自定义的路径下。(我安装在"E:\ImportantApp\OpenCV3.2"目录下,安装文件解压后会产生一个名为opencv的根目录,所以并不需要新建一个OpenCV3.2文件夹。)
安装即解压后,会在指定的路径下生成一个名为opencv的文件夹,它包含两个子文件夹,分别名为build和sources。build包含OpenCV的相关库文件,sources是OpenCV的源代码和demo示范源码。
二、 配置OpenCV
1.配置环境变量
- 鼠标右击此电脑,点击属性选项->高级系统设置->高级->环境变量,在系统变量中选中Path变量,新建,输入”OpenCV安装路径\opencv\build\x64\vc14\bin”(64位系统)。
2.工程包含(include)目录的配置
- 1)打开VS 2015,单击菜单栏中的文件->新建->项目。在新窗口中选择Visual C++,Win32控制台应用程序,自定项目名称、位置。在弹出窗口中选择下一步,附加选项中对空项目打对勾。点击完成。
- 2)新建项目后,在解决方案资源管理器的源文件处右键,添加->新建项,选择C++文件,进行命名,然后将其添加到工程中。
- 3)在菜单栏单击视图(View)->其他窗口(Other Windows)->属性管理器(Property Manger),出现“属性管理器”工作区。此后有两种方法:1. 直接修改“Microsoft.Cpp.x64.user”属性文件 2. 删除方法1的属性文件并新建“OpenCV3.2PropertySheet”属性文件。方法一的修改更新到系统属性文件,一次设置此后新建的Visual Studio项目都可以使用OpenCV。方法二更加具体、灵活。
- 4)在出现的“属性管理器”工作区,分别展开“Debug|X64”和“Release|X64”,删除“Microsoft.Cpp.x64.user”属性文件,分别右键“Debug|X64”和“Release|X64”文件夹,添加新项目属性表,命名为“OpenCV3.2PropertySheet_Debug.props”和“OpenCV3.2PropertySheet_Release.props”。此后对这两个文件的设置相同,唯一的不同点会特别说明。右键此属性文件来进行设置,单击属性(Properties)。
- 5)打开属性页面,在通用属性(Common Properties)->CV++目录(VC++ Directories)->包含目录(Include Directories)中添加三个路径(具体安装路径自己调整)。
包含目录E:\ImportantApp\OpenCV3.2\opencv\build\include
E:\ImportantApp\OpenCV3.2\opencv\build\include\opencv
E:\ImportantApp\OpenCV3.2\opencv\build\include\opencv2
3.工程库(lib)目录的配置
- 不要关闭“OpenCV3.2PropertySheet_Debug/Release.props”属性页。在通用属性(Common Properties)->CV++目录(VC++ Directories)->库目录(Library Directories)中添加以下路径:
E:\ImportantApp\OpenCV3.2\opencv\build\x64\vc14\lib
库目录
4.链接库的配置
- 我们可以查看工程库(lib)目录的配置步骤中添加的库文件目录lib文件列表,发现在3.2.0版本的OpenCV中,仅剩下两个库文件,分别是:opencv_world320.lib和opencv_world320d.lib,两个库文件区别是: opencv_world320.lib是Release模式版本,而opencv_world320d.lib是Debug模式版本。
- 同样在OpenCV3.2PropertySheet_Debug属性页,单击展开链接器(Linker)->输入(Input)->附加依赖项(Additional Dependencies),编辑添加 opencv_world320d.lib、opencv_world320.lib, OpenCV3.2PropertySheet_Release属性页则是opencv_world320d.lib、opencv_world320.lib,两种模式的设置顺序不同;
- 确定后,显示为
- Debug属性文件配置成功,在“属性管理器”工作区,用同样的方式设置“Release|X64”文件夹的“OpenCV3.2PropertySheet_Release.props”属性表。
- 此时便可在X64平台Debug和Release两种模式下运行代码。在其他项目中如果要使用OpenCV库就可以直接复制添加两个属性文件(“OpenCV3.2PropertySheet_Debug/Release.props”),也是为什么要单独新建属性文件的原因。
三、测试示例程序——显示一张图片
- 在文件中输入
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main() {
// 读入一张图片(图片)
Mat img = imread("IMG_8066.JPG");
// 创建一个名为 "Pic"窗口
namedWindow("Pic");
// 在窗口中显示图片
imshow("Pic", img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
}
-
图片要放在项目里面,如图所示:
图片路径 -
选择X64平台,模式为Release或Debug,运行工程调试。
效果图如下:
转载时请附上本文的链接。
网友评论