不止于OpenCV的安装配置教程!工程实用!

  • 一、运行原理
  • 二、OpenCV的下载与安装
  • 三、洞悉OpenCV
  • 四、VS2017下的OpenCV配置
  • 1、添加OpenCV文件到工程目录下
  • 2、工程属性设置
  • 3、一个预料之中的错误


一、运行原理

.cpp

.h

.obj

.lib

.exe

.dll

一个浅显的理解:一个代码的源文件(.cpp)到一个可执行的文件(.exe)需要经过编译链接两个主要过程。编译的过程需要用到静态链接库文件(.lib),链接过程需要用到动态链接库文件(.dll)。

二、OpenCV的下载与安装

下载链接戳它?:OpenCV官网下载

选择与设备匹配的OpenCV版本(下述为最新版本),下载后文件类型是应用程序,双击运行,生成一个名为opencv的文件夹

OpenCV3下载安装_OpenCV

三、洞悉OpenCV

主要组成部分是名为sourcebuild的两个文件夹,OpenCV是Inter的一个开源库,source文件夹下是源码,我们主要使用的是build下的东东。

OpenCV3下载安装_配置教程_02


我们打开build,如下图,我们要用的是includex64(x64根据版本不同会是不同的对应名称)。

OpenCV3下载安装_配置教程_03

  • 打开include会是一个opencv2的文件夹,其下是很多我们要用的hhpp文件。
  • 打开x64可以看到vc15vc14两个文件,这意味着要这两个版本及以上版本才适用我们所下载的这个版本的OpenCV。
  • 打开vc15(或vc14),可以看到binlib两个文件夹。
  • 我们要用的lib文件就在lib文件夹下,在最新的OpenCV中,所有的lib文件都打包在一个名为opencv_world401opencv_world401d的lib文件中,带d的表示为Debug版本(开发者使用版),不带d的表示Release版本(用户使用版)。
  • 我们要用的dll文件就在bin文件夹下,在最新的OpenCV中,所有的dll文件都打包在名为opencv_world401opencv_world401d的dll文件中。

四、VS2017下的OpenCV配置

打开VS2017创建一个名为OpenCVTest的工程,新建一个名为Test的源文件。在文件资源管理器中打开项目,找到Test.cpp的同级目录。

1、添加OpenCV文件到工程目录下

下述操作的目的是将我们需要h/hpp文件lib文件复制到工程下。

  • Test.cpp的同级目录下新建一个名为OpenCV_Include的文件夹
  • 去到我们刚才安装的opencv(E:\opencv\build\include)下将文件夹opencv2复制到OpenCV_Include中。
  • 去到我们刚才安装的opencv(E:\opencv\build\x64\vc15)下将文件夹lib复制到OpenCV_Include中。

2、工程属性设置

在菜单栏点击项目,在下拉的选项中点击最后一项——OpenCVTest属性,将出现下图。

OpenCV3下载安装_Opencv_04

  1. h/hpp文件的添加:
    点击VC++ 目录点击包含目录进行编辑,将我们刚才复制到OpenCV_Include下的文件夹opencv2添加进来,如下

OpenCV3下载安装_Opencv_05

  1. lib文件的添加:
    点击VC++ 目录点击库目录进行编辑,将我们刚才复制到OpenCV_Include下的文件夹lib添加进来,如下

OpenCV3下载安装_Test_06

  1. 附加依赖项的添加:
    点击链接器下的输入,编辑附加依赖项,打开E:\OpenCVTest\OpenCVTest\Opencv_Include\lib,复制其lib文件的名字,记住要选择带d的哈!

3、一个预料之中的错误

我们在Test.cpp中写上下列读取图片的代码,作为对OpenCV环境配置的测试

#include <opencv2/opencv.hpp>
using namespace cv;

int main() {
 Mat img = imread("E:\\ImgSets\\Miss Lin.jpg");
 imshow("Hi! Miss Lin", img);
 waitKey(5000);
 return 0;
}

调试通过但是出现了下图所示的错误

OpenCV3下载安装_OpenCV3下载安装_07

回顾第一大点,我们一路下来添加了h/hpplib,但还没有添加dll!而我们知道exe需同dll文件一起,程序才能够正常运行。于是我们打开一开始安装好的opencv(E:\opencv\build\x64\vc15\bin),将opencv_world401d.dll复制到我们的OpenCVTest.exe同级下的目录(E:\OpenCVTest\x64\Debug)。

OpenCV3下载安装_配置教程_08