【入坑指南】| OpenCV4.8 + CUDA + 扩展模块支持编译

简介: 【入坑指南】| OpenCV4.8 + CUDA + 扩展模块支持编译

大家好,今天给大家分享一下最新版本OpenCV4.8如何编译支持CUDA加速,实现深度学习模型部署速度提升。

软件版本支持

CMake3.13 或者以上版本
https://cmake.org/
VS2017专业版或者以上版本
3050ti + CUDA11.3
OpenCV4.8源码包
https://github.com/opencv/opencv/releases/tag/4.8.0
OpenCV4.8 扩展模块源码包
https://github.com/opencv/opencv_contrib/releases/tag/4.8.0

把OpenCV4.8与OpenCV4.8扩展包都解压缩到D盘,目录分别如下:

D:\opencv-4.8.0
D:\opencv_contrib-4.8.0

编译生成

打开CMake,设置好如下的目录选项

然后点击【Configure】弹出对话框如下:

点击【Finish】完成 配置生成。然后点击【Generate】完成生成。

然后设置扩展模块路径

设置完成以后,搜索CUDA关键字,全部勾上相关选项之后继续点击【Configrure】,运行完成以后,再次搜索CUDA关键字,选择如下:

点击【Generate】,生成如下:

从newbuild文件夹中选择OpenCV.sln 工程文件 双击打开如下:

然后切换到Release模式,点击INSTALL右键生成,等待两个小时以后基本上会完成编译,我最终完成编译之后的结果。

技巧提示:

1.无法下载第三方文件,请手动下载以后放到source/.cache文件夹内相关位置即可。

2.无需编译 xFeature2D、FaceModel、Test等模块(不然需要翻墙下载一些依赖包),统统取消勾选(默认是勾选的) 配置运行测试

重新配置好OpenCV + CUDA的支持,修改包含目录、库目录、链接器,然后设置好新的环境变量路径。启动VS2017,运行OpenCV的人脸检测案例,运行结果如下:

运行YOLOv8 姿态评估模型,效果如下(只有OpenCV4.7版本以后才支持该模型部署运行)

其中在OpenCV中启用GPU推理执行,需要设置下面两行代码:

net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);
net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);

总结

OpenCV4支持通过GPU实现CUDA加速执行,实现对OpenCV图像处理程序的加速运行,当前支持加速的模块包括如下:

- 图像背景分割
- 视频编解码
- 特征2D
- 卷积滤波
- 图像处理
- 对象检测
- 光流
- 双目视觉
- 深度神经网络

基本上包含了OpenCV图像处理的主要功能,这里有一个地方需要特别注意,就是编译时候选择不同的CUDA版本,对上述模块的支持略微不同。

相关文章
|
1月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
Win7上编译OpenCV3.2与扩展模块
Win7上编译OpenCV3.2与扩展模块
24 0
|
1月前
|
计算机视觉 C++ Windows
OpenCV 3.1.0编译与添加扩展模块
OpenCV 3.1.0编译与添加扩展模块
33 0
|
2月前
|
Ubuntu 编译器 C++
Ubuntu系统下编译OpenCV4.8源码
本文档介绍了在Ubuntu系统下编译和安装OpenCV4.8的简单步骤:首先,通过wget命令下载源码包,然后解压;接着,安装必要的编译器和第三方库支持;最后,在源码目录创建build文件夹,执行cmake和make安装。整个过程包括下载、安装依赖和编译安装三个主要步骤。
54 6
|
2月前
|
机器学习/深度学习 算法 计算机视觉
OpenCV主要功能及模块介绍(2)
OpenCV主要功能及模块介绍(2)。
9 2
|
2月前
|
机器学习/深度学习 自然语言处理 算法
OpenCV主要功能及模块介绍(1)
OpenCV主要功能及模块介绍(1)。
94 2
|
2月前
|
C语言 计算机视觉
opencv 编译objects.a(vs_version.rc.obj)‘ is incompatible with i386:x86-64 output
opencv 编译objects.a(vs_version.rc.obj)‘ is incompatible with i386:x86-64 output
20 0
|
2月前
|
计算机视觉 Windows
OpenCV + CLion在windows环境下使用CMake编译, 出现Mutex相关的错误的解决办法
OpenCV + CLion在windows环境下使用CMake编译, 出现Mutex相关的错误的解决办法
45 0
|
2月前
|
数据安全/隐私保护 计算机视觉 开发者
OpenCV中使用NumPy模块操作像素讲解及实战(附源码 超详细)
OpenCV中使用NumPy模块操作像素讲解及实战(附源码 超详细)
59 0
OpenCV中使用NumPy模块操作像素讲解及实战(附源码 超详细)
|
2月前
|
Ubuntu 计算机视觉
百度搜索:蓝易云【ubuntu下简单编译opencv教程。】
通过按照以上步骤进行,你应该能够成功在Ubuntu系统下编译和安装OpenCV。请注意,具体的步骤可能会因系统版本和OpenCV版本而有所不同。如果遇到任何问题,可以查阅OpenCV官方文档或社区寻求更多帮助。
37 0
|
18天前
|
算法 计算机视觉
【Qt&OpenCV 图像的感兴趣区域ROI】
【Qt&OpenCV 图像的感兴趣区域ROI】
22 1