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

至此,大功告成!

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

相关推荐
知识领航员4 小时前
蘑兔AI音乐深度实测:功能拆解、实测表现与适用场景
java·c语言·c++·人工智能·python·算法·github
cskywit4 小时前
【CVPR2024】用Diffusion“造”遥感分割数据:SatSynth论文解读
人工智能·深度学习·计算机视觉
一只机电自动化菜鸟4 小时前
一建机电备考笔记(33) 机电专业技术(起重技术-吊装方案)(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
jf加菲猫6 小时前
第21章 Qt WebEngine
开发语言·c++·qt·ui
xuhaoyu_cpp_java6 小时前
SpringMVC学习(二)
java·经验分享·笔记·学习·spring
码农-阿杰6 小时前
深入理解 synchronized 底层实现:从 HotSpot C++ 源码看对象锁与 Monitor 机制
开发语言·c++·
Szime7 小时前
深智微IC华润微代理:MCU选型与工业控制方案推荐
c++
叼烟扛炮7 小时前
C++ 知识点18 内部类
开发语言·c++·算法·内部类
汉克老师7 小时前
GESP5级C++考试语法知识(十五、分治算法(二))
c++·算法·排序算法·分治算法·gesp5级·gesp五级
汉克老师8 小时前
GESP6级C++考试语法知识(五、格雷码)
c++·算法·位运算·异或·gesp6级·gesp六级·格雷码