Opencv环境配置

  1. 下载

可以在Opencv官网下载发布包,opencv4需要C++版本高,可以选择opencv3。

我这里就下载Opencv3.4.14的windows版本,注意这里下载后里面包含源码和编译后的lib和dll。所以不用单独下载Sources。

Opencv环境配置_第1张图片

下载后解压出来就是这样:

Opencv环境配置_第2张图片

  1. 创建项目

现在的opencv官方给的编译后文件直接就是个opencv_world,这玩意好处就是一个动态库一个lib就搞定,不用整那么多模块,缺点就是动态库体积大。如果想要单独分开的模块,可以自己编译opencv的源码,那玩意编译出来就是分开的。

    1. 基本概念

VC++的这块配置opencv这种三方库主要就是三个东西:头文件、lib、dll。

头文件就是代码的函数声明,有了它咱们才能在代码里使用库里的函数和类。

lib这玩意其实我们可以理解为它就是一个特殊的cpp代码文件,里面就是头文件声明的东西的具体实现。(这里其实是代码的入口链接,具体实现在dll里面)【当然这玩意得分静态链接库和动态链接库,还有动态加载,后面有空写个文章专门讲讲这玩意】

dll就是实际运行时候要的模块,这玩意在发布程序的时候得一起。

    1. 创建工程

用低版本vs10创建个控制台工程,然后拷贝opencv的头文件,lib和dll。

opencv的文件位置如图:

Opencv环境配置_第3张图片

拷贝到工程的位置如下:

Opencv环境配置_第4张图片

配置工程属性(include这块我就展示了debug,release的也需要同样配置),然后写代码。

Opencv环境配置_第5张图片

运行效果如下:

Opencv环境配置_第6张图片

    1. 配置说明

好了,工程结束,解释下配置。

这里用的是64位动态库,所以工程属性配置成64位(高版本现在默认就是64位了)

头文件我们配置的是../include。这么配置是因为VS运行工作目录是.vcxproj那一级,而我们把头文件放在了sln这一级,所以就是../。

Opencv环境配置_第7张图片

当然这里配置方法很多,也可以直接选择绝对路径。重点就是得包含目录到opencv目录的上一级,因为内部的头文件有相对路径的引用,所以这里必须得这么整。

Opencv环境配置_第8张图片

lib文件和dll文件都放VS运行工作目录.vcxproj那一级了,因为这里就是为了方便。

exe运行起来是要用dll的,如果我们用vs启动编译后的exe,就可以从当前工作目录加载到动态库了。如果单独点击exe运行,就得把动态库放在exe同级目录或者系统能找到的dll路径。

lib文件需要被链接器引入,可以在配置里加,也可以这样写代码里面。因为opencv得分个debug和release不同版本的库,所以只能是分开配置。

Opencv环境配置_第9张图片

如果debug和release一个库那有一招比较骚的操作,就是直接把lib文件当作cpp,拉到工程里就行,就像这样,当然这就是个题外话,opencv这个不能这么玩。

Opencv环境配置_第10张图片

  1. 源码编译

编译C++的CMake工程源码以前有个CMake工具,可以转换为sln然后打开进行编译。那玩意感觉不好用,之前加载转换经常报错。

现在Visual Studio支持直接搞CMake了,非常好用。

用Visual Studio 2019来整,vs17我发现编译完的文件去哪里都不知道。我也懒得折腾去找,就用vs19就行了。

打开Visual Studio Installer就可以看到现在C++模块安装里面有CMake工具。

Opencv环境配置_第11张图片

启动Visual Studio,选择打开CMake工程,在弹出的对话框中选择源代码文件夹根目录的CMakeLists.txt,耐心等待加载完成。

Opencv环境配置_第12张图片

最后选择编译生成即可。

Opencv环境配置_第13张图片

生成结束后,源文件夹出现out目录,里面就包含编译后的lib和dll

Opencv环境配置_第14张图片

Opencv环境配置_第15张图片

配置要编译的Debug或者Release版本,选择管理配置,在弹出的可视化界面中选择类型。

 Opencv环境配置_第16张图片

当然这玩意其实就是vs在代码目录自动生成的json配置文件,可以自己改。

Opencv环境配置_第17张图片

你可能感兴趣的:(OPENCV,opencv)