Windows源码安装opencv4配置c++环境
开始工作
最近将python做的项目用python写的代码用c++扩充一部分。网上看了一部分安装的教程,写的比较复杂,这里记录一下。
首先介绍一下整体安装的一些流程:
- 准备需要的源码
- cmake编译源码
- 使用visual studio编译并生产项目
- 配置opencv变量
准备需要的源码
在正式开始前,我们先来准备一下需要的源码和相关的工具
CMAKE
这个不写了,官网下来,一路next到底,注意,加入PATH
Visual Studio
去微软官网上下就可以了,不过你的电脑上应该有这个
Opencv
进入opencv官网,然后选择右上方的releases,选择自己需要的版本,这里我们选择最新的4.4.0版本,进入GitHub;
(网址:https://opencv.org/releases/)
在GitHub上直接下载就可以了;
除此之外,再让我们顺便安装一些opencv的拓展,很多的和神经网络相关的拓展都被包含在了拓展中,点开opencv的GitHub主页,选择opencv_contrib下载源码,或者戳这里:https://github.com/opencv/opencv_contrib
注意,这里你需要选择和你的opencv相同版本的contrib,比如我们这里的4.4.0
解压源码
好了,到这里我们所有的准备工作就完成了。让我们把刚刚的两个源码解压一下
加压好的contrib放到解压好的opencv文件夹理,让我们在这个文件夹下面再建一个build文件夹一会cmake的时候去使用。
大功告成!现在你的opencv文件夹应该就变得和我一样了
再开始接下来的工作前,想让我们来确认一下文件的存放的位置。
最终的文件大约有17G!
请再次确认一下这个这个文件夹所处的位置是否有足够的空间,且今后尽量不要去更改
科学上网
因为再cmake阶段,我们需要下载一些文件,所以再这个时候,为了防止一些组件的编译失败,请检查一下你的电脑是否能访问互联网
CMKE源码
编译opencv
如果你到了这里,基本快接近成功了。
让我们打开cmake,把我们相应的文件夹放进去。
source code是我们的opencv的文件夹,对,就是上面的截图的那个
build的文件夹还记得我们刚刚新建的那个吗?让我们把它放到这里
然后,点击Configure,配置好你的vs版本和框架以后,就可以开始了,别的配置默认就行
如果网络有问题的话,可能会卡在下载的地方。所以报错的话就检查一下自己的网络有没有问题,嗯,科学上网
cmake拓展
cmake完成以后,让我们把我们的拓展也cmake一下
cmake完成后,上面应该会出现很多可选的红色选项,默认就行,除了我们的拓展
选中PENCV_EXTRA_MODULES_PATH,把路径改为刚刚opencv包里面我们的拓展中的modules目录,再configure一次。
如果上面还有红色的话,那就再configure一次,应该就全白了
点击Generate
好了,现在我们又离成功更近了一步
生成解决方案
看看我们cmake都生成了些什么
我们的build目录现在就是这样的了
生成解决方案
在cmake完成的文件夹中,已经生成了OpenCv.sln文件,我们用visual studio把它打开就行
确定一下要生成的版本和框架
在visual studio中配置一下,如果这是你的开发环境,建议Debug就好,如果部署再你的应用场景的话,那你应该已经配置过一遍了~
冲杯咖啡
好的,接下来点击 生成–>重新生成解决方案
然后去冲杯咖啡,这可能需要一会时间
生成一下install
相信你应该已经等了一会了
现在还有一步
回到解决方案管理器,把Cmake Target下面的INSTALL生成一下
环境配置
大功告成
现在opencv算是安装完成了,让我们来找一段代码运行一下,打开或者新建一个工程叭
#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
// 读入一张图片(小熊猫)
Mat img = imread("C:\\Users\\1\\Desktop\\opencv\\test.jpg");
// 创建一个名为 "小熊猫"窗口
namedWindow("小熊猫");
// 在窗口中显示小熊猫
imshow("小熊猫", img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
return 0;
}
嗯?为什么还有报错
不出意外这个是用include的下面应该是有红线的,为什么呢?
编译器和连接器其实这个时候并不知道你的opencv相关的库函数被放到了什么位置,让我们来配置一下
依次点击视图–> 其他窗口–>属性管理器
在相应的环境里新建一个属性表,比如我这里的opencv4.2.0debug
让我们点开它做一些配置,一共有以下的三个位置需要配置
包含目录
你需要新增build文件夹下的这三个目录
库目录
你需要增加build文件夹下的这个目录
linker
再让我们配置一下连接器,连接器可以把你代码里的一些内容连接,这里我们只要将opencv的lib库放进去就可以了
opencv的lib库被存放在了这个位置,我们可以打开看一下这个文件夹
好了,现在我们把lib加到连接器,设置一下就可以了
一点点小问题
记得把opencv加入到环境变量中~
目录是build文件夹中的bin文件夹
大功告成
现在,我们的全部安装和配置就完成了,让我们来跑一下刚刚的那段程序:
图片已经被正常的显示出来了~