感谢以下作者提供的资料:
1 https://www.cnblogs.com/xinxue/p/5766756.html
2 https://www.bilibili.com/video/av28288594/?p=1
3 https://blog.csdn.net/qq_41175905/article/details/80560429
4 https://www.bilibili.com/video/av29600072?t=1234
一、 所使用的安装包
本人的计算机是Win10 64位操作系统,后续下载的各种软件包都需适用于该系统。
本人所使用的安装包下载地址:
链接: https://pan.baidu.com/s/1L0K6S8Exbgxhqf6LsYyqyQ
提取码: 7xsv
1 Visual Studio 2019 专业版
1.1 下载地址:https://visualstudio.microsoft.com/zh-hans/
1.2 安装教程:https://jingyan.baidu.com/article/380abd0ac4f3951d90192cd0.html
1.3 备注:
安装时,本人选择的是“全部下载之后再安装”。
安装之后,电脑不能联网了,原因未知。手动禁用网络适配器,再重启,网络恢复正常。
2 OpenCV相关下载
下载相匹配的opencv和opencv_contrib,本人使用的是opencv 3.4.1和相应的opencv_contrib 3.4.1
2.1 OpenCV 3.4.1
下载:https://github.com/opencv/opencv/releases
2.2 opencv_contrib3.4.1
下载:https://github.com/opencv/opencv_contrib/releases
下载之后,进行解压。本文统一存放在D盘自创建的OpenCV目录中:
3 Cmake下载
3.1 由于在cmake编译过程中需选择visual studio的版本号,本人使用的是visual studio2019,因此同样选用最新版本的Cmake v3.15.2
下载:https://github.com/Kitware/CMake/releases
将其解压;本人将其放在了D盘自创建的OpenCV目录中。
二、Cmake 编译
1 双击,运行D:\OpenCv_ZL\cmake-3.15.2-win64-x64\bin中的cmake-gui.exe
1.1 弹出一个窗口,
在“where is the source code ”中填入或选择opencv3.4.1的目录(已存在的目录),即:D:\OpenCv_ZL\opencv-3.4.1;
在“where to build the binaries”中填入自创建的目录(本人在opencv-3.4.1目录中新创建了一个newbulid目录),即:D:\OpenCv_ZL\opencv-3.4.1\newbulid_zl
1.2 设置好路径后,点击左下角的 Configure 按钮,弹出窗口
在“Specify the generator for this project"中选择相匹配的visual studio版本,本人选择的是 Visual Studio 2019(与本人所安装的版本相匹配)
备注——在另一台64位电脑上配合使用Visual Studio 2017 professional 软件进行配置OpenCV
后记1:
使用当前版本cmake-3.15.2-win64-x64,在配置“Specify the generator for this project"时,选择“Visual Studio 2017”,后续生成的OPenCV.sln打开后,Debug处只显示Win32,不含有x64,此处存在隐患:后续调试程序时,提示模块计算机类型“X86”与目标计算机类型“x64”冲突。
检查发现,此时newbuild中生成的install文件夹中出现的是x86文件夹,而不是x64文件夹,说明前面的camke环节有误。
解决方案:降低cmake的版本,选用cmakev3.13.0,选择“Visual Studio 2017 win64”,再继续后续的配置。
后记2:
在调试程序时,如果遇到 “Project1.exe”(Win32): 已加载“C:\Windows\syswow64\ntdll.dll”。无法查找或打开 PDB 文件,那么
解决方案:https://blog.csdn.net/old__tree/article/details/79891060
1.3 点击 Finish 按钮,继续,此时主界面的 Configure 按钮变为 Stop,表示配置进行中
注意:(参考资料1)
如遇到问题,先检查错误信息;然后,点击 File -> Delete Cache,退出 cmake-gui,并将 newbuild_zl 文件夹内的内容清空,再重复步骤 1。(备注:本人配置此处时,未提示错误信息。)
Configure 依次结束后,如果 cmake 的主界面仍有红色区域,则再次点击 Configure 进行配置,直到红色区域完全消失。
1.4
找到 Name 下的 OPENCV_EXTRA_MODULES_PATH,为其设置 opencv_contrib-3.4.1 的路径 ,精确到 /modules 目录,即:D:\OpenCv_ZL\opencv_contrib-3.4.1\modules
再次点击 Configure 进行配置,可能需要 Configure 两三次之后,红色区域才能完全消失。
最后,点击 Generate,出现 “Generating done” 则意味着 cmake 的工作结束了。
图示如下:
三、 Install
生成相应的库,include,lib,bin等。
1 进入到D:\OpenCv_ZL\opencv-3.4.1\newbulid_zl中,找到OpenCV.sln,使用 VS 2019 打开。
界面显示,正在加载142个解决方案:
打开界面后,在左侧找到CMake Targets,找到其中的INSTALL,右键点击生成,如下如所示:
等待生成完成,如下图所示:
此时,说明已经Install完成了。
返回至目录D:\OpenCv_ZL\opencv-3.4.1\newbulid_zl,发现多出了install目录,点击进去,图示如下:
备注:当时做到这一步的时候,发现这个文件夹中并没有x64这个文件夹,有点方。。。别人的资料中都有,这个咋没有呢?
对比检查install前后的newbuild_zl文件夹发现,在install之后,该文件夹中不仅生成了install文件夹,而且还生成了x64,如图所示。心想,有可能新版本就是这个样子吧,暂且不管它了。(后续执行顺利,未出错误)
四 配置库和环境变量
1 在visual studio中新建一个空项目,用于配置相应的库。
1.1 图示如下:
2 点击右上角视图,选择其他窗口,选择属性管理器,则在界面左侧出现属性管理器。
3 在左侧中查找Debug | x64
备注:做到这一步的时候也有点方,在Debug | x64下拉菜单中,以往的资料中显示有Microsoft.Cpp.x64.user,这咋没有呢?
百度一下吧,发现别的小伙伴配置VS2019到这一步时,也没有这个。
本人直接在Debug | x64上右键,选择属性,继续后续的配置(后续执行顺利),如图:
后记补充:发现,当创建新的项目后,还得重新配置下面的2种目录和附加依赖项,有点方。。。(各读者如果有解决方案,欢迎指正!)
3 配置2种目录和1个附加依赖项
3.1 在VC++ 目录中
3.1.1 选择,包含目录,添加上以下3个目录(注意:一定得是newbuild_zl中的include,不要选错了位置。)
D:\OpenCv_ZL\opencv-3.4.1\newbulid_zl\install\include\opencv
D:\OpenCv_ZL\opencv-3.4.1\newbulid_zl\install\include\opencv2
D:\OpenCv_ZL\opencv-3.4.1\newbulid_zl\install\include
点击确定
3.1.2 选择,库目录,添加以下1个目录:
D:\OpenCv_ZL\opencv-3.4.1\newbulid_zl\install\lib
点击确定。
备注:配置这里的时候,也有点方,以往的资料都是选择install中x64中的vc14中的lib,而本人生成的x64一方面不在install中,另一方面这个x64文件夹中,也没有lib。
本文尝试直接将install中的lib加进去了,后续执行顺利。
3.2 选择链接器
3.2.1 选择其中的输入,选择附加依赖项,将D:\OpenCv_ZL\opencv-3.4.1\newbulid_zl\install\lib中的所有lib文件的名字添加进去,如图所示:
备注:这里的lib库的位置在D:\OpenCv_ZL\opencv-3.4.1\newbulid_zl\install\lib中,而以往别人的是在x64下面的子文件夹中。不过,此处配置未出现异常。
关于提取文件名,可参考教程:https://zhidao.baidu.com/question/269400317.html
4 配置环境变量
此处直接将D:\OpenCv_ZL\opencv-3.4.1\newbulid_zl\install\bin添加到计算机的环境变量中,未出现异常。
4.1 此电脑--高级系统设置--环境变量--找到path,点击编辑,点击新建,粘贴D:\OpenCv_ZL\opencv-3.4.1\newbulid_zl\install\bin,点击确定。
至此,配置完成了。
五 调试一下
5.1 在自创建的Project1中,右键源文件,点击添加,点击新建项,创建一个main.cpp文件,用于编写程序:
5.2 程序代码如下
#include
#include
using namespace cv;
int main(int argc, char** argv) {
Mat src = imread("E:/ZL_OpenCv_Projects/NeZha.jpg");
if (src.empty()) {
printf("Empty!");
return -1;
}
namedWindow("Figure1", CV_WINDOW_AUTOSIZE);
imshow("Figure1",src);
waitKey(0);
return 0;
}
备注:
1 选择debug x64而不是x86。
2 点击生成,选择重新生成解决方案;
3 点击调试,选择开始调试。
程序运行如下:
完成了。