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 模块

至此,大功告成!

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

相关推荐
筱璦7 分钟前
期货软件开发 - C# 调用 HQChart 指标计算 C++ 动态库
c++·microsoft·c#
不想写代码的星星34 分钟前
C++ 内存管理:分区、自定义分配器、常见问题与检测工具
c++
-许平安-1 小时前
MCP项目笔记九(插件 bacio-quote)
c++·笔记·ai·plugin·mcp
沉鱼.441 小时前
第十三届题目
c语言·c++·算法
liulilittle2 小时前
C++ 无锁编程:单停多发送场景高性能方案
服务器·开发语言·c++·高性能·无锁·原子
无限进步_2 小时前
【C++】巧用静态变量与构造函数:一种非常规的求和实现
开发语言·c++·git·算法·leetcode·github·visual studio
小超超爱学习99372 小时前
大数乘法,超级简单模板
开发语言·c++·算法
xyx-3v3 小时前
qt创建新工程
开发语言·c++·qt
样例过了就是过了4 小时前
LeetCode热题100 爬楼梯
c++·算法·leetcode·动态规划
Anycall.Q4 小时前
RE-IMAGEN(ICLR 2023)
人工智能·计算机视觉·imagen