OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记

0 前言:一开始花了好长时间用VSCode配置OpenCV扩展库,一直报错,显示和anaconda有冲突,网上没有找到相关的解决办法(心累)…才开始用VS2019来配置,顺便记录了一下过程。

1. 安装环境
Win10 + Visual Studio 2019 + cmake3.22.1

2. 下载Visual Studio 2019(我下载的社区版)
https://visualstudio.microsoft.com/zh-hans/downloads/
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第1张图片
勾选 使用C++的桌面开发
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第2张图片

3. 下载cmake(注意是二进制版本)
https://cmake.org/download/
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第3张图片

解压到自选路径,找到bin文件夹,添加该路径到环境变量
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第4张图片

打开命令行输入cmake --version检查安装
在这里插入图片描述

4. 下载opencv和opencv_contrib的zip(注意版本要一致),解压到本地目录
https://github.com/opencv/opencv/releases/tag/4.5.3
https://github.com/opencv/opencv_contrib/releases/tag/4.5.3
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第5张图片

5. 配置,生成vs工程
在放opencv和opencv_contrib的文件夹下新建一个文件夹,如opencv4_build
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第6张图片

打开cmake-gui,源码文件夹选择下载的opencv-4.5.3,构建目标文件夹选择新建的,如opencv4_build
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第7张图片

点击configure,选择将源码编译成与VS版本相应的工程文件,再点击Finish
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第8张图片

几分钟后出现警告,显示部分文件无法下载、缺失
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第9张图片

① 首先需要更改几个配置项:
找到配置项BUILD_opencv_world和OPENCV_ENABLE_NONFREE,打勾;然后在搜索栏输入extra,在OPENCV_EXTRA_MODULES_PATH配置项中选择opencv_contrib-4.5.3的modules路径
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第10张图片
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第11张图片
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第12张图片

② 按照提示的路径找到CMakeDownloadLog.txt,打开查看缺失的文件,根据提供的链接手动下载,替换OpenCV4/opencv-4.5.3/.cache中相应的0k文件,再configure
我的缺了20+个…
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第13张图片

这里下载的时候需要VPN,如果没有的话,可以从文末的镜像站链接下载(不过只有20M以内的可以下载)

OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第14张图片
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第15张图片
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第16张图片

上下两栏都没有错以后,点击generate
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第17张图片

6. 编译
在opencv4_build文件夹下找到OpenCV.sln,用VS2019打开,Debug,右键INSTALL生成
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第18张图片
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第19张图片

改为Release,同样右键INSTALL生成
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第20张图片
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第21张图片

7. VS2019配置OpenCV库
创建控制台或空项目
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第22张图片

右击项目,如Project1,选择“属性”,将“配置”和“平台”分别改为“所有配置”和“所有平台”
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第23张图片

选择VC++,在包含目录中添加…\opencv4_build\install\include
再添加…\opencv4_build\install\include\opencv2
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第24张图片

选择库目录添加…\opencv4_build\install\x64\vc16\lib
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第25张图片

再将“配置”改成“Debug”模式, 选择 链接器=>输入,在附加依赖性中加入opencv_world453d.lib
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第26张图片

同理,配置“Release”模式,注意是opencv_world453.lib
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第27张图片

最后添加环境变量,…\opencv4_build\install\x64\vc16\bin

8. 代码测试

#include 
#include 


using namespace std;
using namespace cv;


int main()
{
	Mat image = imread("D:\\fyj\\1.png");  //图片路径
	if (!image.empty())
	{
		imshow("test image", image);
		waitKey();
	}
	else
	{
		printf("Empty image!");
	}
	return 0;
}

重启vs,选择Debug x64
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第28张图片

9. 配置过程中遇到的其他问题
① 出现这个报错,我没有管,看博客说可以搜索gensetupvars,去掉勾
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第29张图片

② Debug配置生成报错
LNK1104 无法打开文件“python37_d.lib”
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第30张图片

解决办法:修改Python的安装设置,将Debug版本安装进来。在“卸载或更改程序”中找到Python,右击更改,添加Debug版本
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第31张图片

接着给VS OPENCV.sln 添加Python37_d.lib的路径
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第32张图片

然后在附加依赖项中添加python37_d.lib
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第33张图片

右键重新生成opencv_python3,成功生成
OpenCV4.5.3+OpenCV_contrib4.5.3配置笔记_第34张图片

10. 主要参考资料
【VS2019+OpenCV4.5.1+OpenCV_contrib4.5.1安装+配置保姆式教程】
win10 +visual studio 2019 +opencv4.5.0+opencv_contrib4.5.0源码编译安装
【C++】LNK1104 无法打开文件“python37_d.lib” 解决方法
GitHub Proxy 代理加速 - 镜像站

你可能感兴趣的:(OpenCV4,opencv,c++,visual,studio)