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

至此,大功告成!

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

相关推荐
sbjdhjd3 小时前
面试题完结 | 投票题 + 到岗时间 + 压力缓解
经验分享·笔记·面试·职场和发展·开源·求职招聘·印象笔记
路人甲3263 小时前
SONIC: Supersizing Motion Tracking for Natural Humanoid Whole-Body Control
人工智能·深度学习·计算机视觉·机器人·具身智能
枕星而眠3 小时前
C++ 面向对象核心机制深度解析:多态性、虚函数、虚继承与 final 类
运维·开发语言·c++·后端
程序员正茂3 小时前
EasyAR使用OpenCV下USB摄像头作为自定义相机
opencv·unity·easyar
_李小白3 小时前
【android opencv学习笔记】Day 31:提取轮廓之Canny算法
android·opencv·学习
智者知已应修善业4 小时前
【51单片机8个LED,已经使用了D1D2,怎么样在不动D1D2的前提下实现D6~D8的流水灯】2024-1-19
c++·经验分享·笔记·算法·51单片机
坚果派·白晓明4 小时前
鸿蒙PC适配实战:simdjson 三方库移植攻略与 AtomCode Skills 提效之道
c++·harmonyos·三方库·skills·atomcode·c/c++三方库·c/c++三方库适配
爱装代码的小瓶子4 小时前
3. 设计buffer模块
linux·服务器·开发语言·c++·php
郝学胜-神的一滴4 小时前
Qt 高级开发 027: QTabWidget自定义样式表美化实战
开发语言·c++·qt·程序人生·软件构建·用户界面
双河子思4 小时前
《代码整洁之道》——读书笔记(持续更新)
开发语言·c++·c#