【入坑指南】| 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月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
3151 3
|
1月前
|
缓存 并行计算 Ubuntu
Jetson 学习笔记(十一):jetson agx xavier 源码编译ffmpeg(3.4.1)和opencv(3.4.0)
本文是关于在Jetson AGX Xavier上编译FFmpeg(3.4.1)和OpenCV(3.4.0)的详细教程,包括编译需求、步骤、测试和可能遇到的问题及其解决方案。还提供了Jetson AGX Xavier编译CUDA版本的OpenCV 4.5.0的相关信息。
58 4
Jetson 学习笔记(十一):jetson agx xavier 源码编译ffmpeg(3.4.1)和opencv(3.4.0)
|
1月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
136 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
21天前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统编译OpenCV4.8源码
【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。
|
2月前
|
并行计算 JavaScript 算法
opencv4.5.1+contrib+cuda编译成功,实时人头匹配,手动狗头
这篇文章介绍了如何在Windows 10上使用Visual Studio 2017成功编译OpenCV 4.5.1及其contrib模块和CUDA支持,并解决了编译过程中的问题,如项目文件无效、cmake工具问题,并添加了Qt和JavaScript支持,同时提供了参考链接。
opencv4.5.1+contrib+cuda编译成功,实时人头匹配,手动狗头
|
2月前
|
JavaScript 计算机视觉 C++
win10+vs2017+opencv4.5.1+contrib+cuda编译成功,实时人头匹配,手动狗头
这篇文章介绍了如何在Windows 10系统上使用Visual Studio 2017和OpenCV 4.5.1(含contrib模块和CUDA支持)成功编译OpenCV,并解决了编译过程中遇到的问题,如项目文件无效、cmake工具问题、添加Qt和JavaScript支持,并提供了参考链接和cmake配置文件。
win10+vs2017+opencv4.5.1+contrib+cuda编译成功,实时人头匹配,手动狗头
|
2月前
|
计算机视觉
vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录
这篇文章记录了使用VS2019编译Qt6.2.4、DCMTK3.6.7、VTK9.2.2、ITK5.3和OpenCV4.6.0的过程,包括下载和编译步骤,并提供了遇到编译错误时的解决方案和参考链接。
vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录
|
2月前
|
机器学习/深度学习 Java 计算机视觉
opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录
本文记录了使用mingw81_64编译OpenCV 4.5.5、Qt 5.15.2、VTK 9.1的详细过程,包括编译结果截图、编译步骤、遇到的问题及其解决方案,以及相关参考链接。文中还提到了如何编译boost源码为静态库,并提供了测试代码示例。
opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录
|
3月前
|
并行计算 算法 Java
cmake+vs2019编译OpenCV
cmake+vs2019编译OpenCV
40 0
|
4月前
|
计算机视觉 iOS开发 C++
【OpenCV】在MacOS上源码编译OpenCV
【7月更文挑战第9天】在MacOS上源码编译OpenCV需分步进行: 1. 准备工作: 安装Xcode, Command Line Tools及依赖如CMake, Homebrew. 2. 获取OpenCV源码: 从官网下载并解压所需版本. 3. 编译OpenCV. 4. 安装OpenCV: 编译后使用`sudo make install`进行安装. 5. 验证安装: 编写简单C++程序测试OpenCV功能, 如读取并显示图片.
148 1