Windosw下Visual Studio2022编译OpenCV

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它提供了一系列用于处理图像和视频的算法和函数,包括图像处理、特征检测、物体识别、人脸识别等。OpenCV支持多种编程语言,如C++、Python、Java等,使得开发者可以在不同的平台上开发和部署计算机视觉应用程序。

OpenCV具有强大的功能和性能优势。它提供了大量的图像处理和计算机视觉算法,如边缘检测、图像滤波、特征提取、图像匹配等。同时,OpenCV的算法经过优化,可以高效地处理大规模图像和视频数据。

一、准备工作

1、CMake下载(请使用最新版本,避免出现错误):https://cmake.org/

根据文档显示需要3.27以上版本才能支持所有功能

2、OpenCV源码下载:https://gitcode.com/gh_mirrors/opencv31/opencv

3、OpenCV扩展模块源码下载:https://gitcode.com/gh_mirrors/op/opencv_contrib

如已安装git,可以用下面的指令下载源码

复制代码
git clone https://gitcode.com/gh_mirrors/opencv31/opencv.git
git clone https://gitcode.com/gh_mirrors/op/opencv_contrib.git

二、编译

1、解压opencv、opencv_contrib
2、将opencv_contrib拷贝到opencv源码内,并新建build文件夹
3、修改第三方库下载地址

进入D:\opencv\3rdparty\ippicv 目录,将 ippicv.cmake 的https://raw.githubusercontent.com修改为https://raw.staticdn.net

进入D:\opencv\3rdparty\ffmpeg目录将 ffmpeg.cmake的https://raw.githubusercontent.com修改为https://raw.staticdn.net

同样修改opencv_contrib内文件:

D:\opencv\opencv_contrib\modules\xfeatures2d\cmake目录下两个文件

D:\opencv\opencv_contrib\modules\face目录下CMakeLists.txt

D:\opencv\opencv_contrib\modules\wechat_qrcode目录下CMakeLists.txt

原地址下载很慢且可能出现无法下载问题~~~

修改后仍可能出现问题:

ippicv_2021.12.0_win_intel64_20240425_general.zip无法下载,请手动下载

https://github.com/opencv/opencv_3rdparty/blob/ippicv/master_20240425/ippicv/ippicv_2021.12.0_win_intel64_20240425_general.zip

百度网盘:https://pan.baidu.com/s/1y1XgRF7MrXS4uEUHXqmj-A?pwd=7yb7

提取码:7yb7

下载后拷贝到 D:\opencv\.cache\ippicv并改名

4、打开cmake GUI,选择opencv源码目录和编译build目录
5、Finish等待结束之后,进行排错配置

找到"BUILD_opencv_world"和"OPENCV_ENABLE_NONFREE"这两个变量,在变量后面的方框内打上"√"。之后找到"OPENCV_EXTRA_MODULES_PATH"变量,选择opencv_contrib安装包里的modules文件夹;

重新configure直到没有红色提示且出现Configuring done,点击Generate

6、VS2022打开OpenCV.sln

优先编译opencv_world(当然可直接执行ALL_BUILD)

执行ALL_BUILD,之后是漫长的等待

编译完成后执行INSTALL

7、查看生成文件

安装路径在install下

bin目录下看到 opencv_world 模块

至此,大功告成!

感谢您的阅读和关注。希望本文能对您有所启发或帮助。如果您还有任何问题或意见,欢迎随时与我交流。祝您生活愉快,事业顺利!

相关推荐
郝学胜_神的一滴1 天前
CMake 034:生成器表达式:解耦构建时序、精简分支逻辑的终极利器
c++·cmake
见过夏天2 天前
C++ 基础入门完全指南
c++
努力的小雨2 天前
我用 QClaw 做了个 Web3 陪学助手,专治 Java 程序员的“概念劝退”
经验分享·ai智能
用户805533698033 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
BadBadBad__AK3 天前
线段树维护区间 k 次方和
c++·数学·算法·stl
韩师傅4 天前
海天线算法的前世今生
python·计算机视觉
韩师傅4 天前
当你的甲方设备过烂,要如何快速出效果?
python·计算机视觉
韩师傅4 天前
当你的甲方吐槽天空不够蓝,你应该如何应对
python·计算机视觉
卷无止境4 天前
Eigen 库如何借助 OpenMP 加速计算
c++·后端
卷无止境4 天前
OpenMPI、MPICH 与 OpenMP:关系、核心概念与架构全解
c++·后端