【OpenCV】opencv-4.9.0源码编译(一)
本文分享OpenCV-4.9.0源码编译流程,包含CUDA模块,包含Python-opencv,希望对各位小伙伴有所帮助!1. 环境准备Python3.122. 源码下载下载OpenCV源码,此处需要下载两个源码,分别是opencv和。下载链接为opencv:不过在下载时要注意一点,就是要保证opencv和下载的版本要一致,此处我们下载的版本为:4.9.0。下载完成后,将两个文件解压到同一个文件夹
很高兴在雪易的CSDN遇见你
VTK技术爱好者 QQ:870202403 公众号:VTK忠粉
前言
本文分享OpenCV-4.9.0源码编译流程,包含CUDA模块,包含Python-opencv,希望对各位小伙伴有所帮助!
感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!
你的点赞就是我的动力(^U^)ノ~YO
目录
1. 环境准备
- Visual Studio 2022
- Python3.12
- CUDA: 12.2, cudnn: 9.0
- CMake3.27.0
2. 源码下载
下载OpenCV源码,此处需要下载两个源码,分别是opencv和opencv_contrib。下载链接为
opencv:
https://github.com/opencv/opencv/archive/4.8.0.zip
opencv_contrib:
https://github.com/opencv/opencv_contrib/tags
不过在下载时要注意一点,就是要保证opencv和opencv_contrib下载的版本要一致,此处我们下载的版本为:4.9.0。下载完成后,将两个文件解压到同一个文件夹中。
3. CMake编译
3.1 创建cmake项目
打开CMake软件,设置项目源码路径,并在源码路径下创建一个build文件夹,并设置编译文件夹,如下图所示:

接下来点击Configure,进行第一次配置,然后回弹出编译平台选择,此处根据自己电脑的编译软件进行选择,在本文中我们使用的是Visual Studio 2022,然后选择编译平台为x64。
第一次配置生成后,输出如下所示:

3.2 设置编译配置
首先添加opencv_contrib模块的引用,在OPENCV_EXTRA_MODULES_PATH条目中添加该模块的路径,然后选择OPENCV_ENABLE_NONFREE,如下图所示:
![]()
接下来添加CUDA的设置,首先选择WITH_CUDA,如下图所示:
![]()
然后选择OPENCV_DNN_CUDA,此处还可以选择OPENCV_DNN_OPENVINO等不同的模型部署,如下图所示:

最后选择ENABLE_FAST_MATH
![]()
此处为了让生成的依赖库文件都集成在一个文件中,方便后面使用,所以此处可以选择BUILD_opencv_world,如果不选择,生成的 文件将会被拆散成多个文件。
还有Python相关的选项

第二次Configure后,下一步就是需要检查一下其过程是否有异常抛出
第一个异常:

解决方案:

cuDNN9还不支持,因此切换为相应的cuDNN版本。

下载时需要注册账号,但又经常会卡在注册账号页面。可以右键复制连接后,在迅雷中下载。
下载完成后,打开压缩文件,将lib,dll,include文件夹的文件复制到CUDA的安装目录对应的文件夹下。
并在变量CUDNN_LIBRARY中写入cudnn.lib的路径
![]()
第二个异常:文件下载异常
首先查看一下配置输出框是否抛出警告,如果有的话,一定要解决一下,不然后续编译会出错。

当出现上图所示的异常后,就需要手动解决一下该问题,首先找到build\CMakeDownloadLog.txt文件,然后打开后,查看一下是否有下图所示的文件确实异常。如果有,请自行下载,下载链接如下图所示标注位置,下载后将文件放置在下图所示缺失文件路径,并按照要求修改名称。

正常的编译文件如下:

折腾了一天,终于看到Configuring done !
结论:
感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)