在Ubuntu 20.04中使用CUDA安装OpenCV 4-600学习网

600学习网终身会员188,所有资源无秘无压缩-购买会员

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

OpenCV编译过程的屏幕截图。

安装预编译版本的OpenCV可能会导致您无法充分利用cuda硬件,这在GPU加速方面非常强大。。

在本文中,我们将使用带有CUDA和cuDNN的预安装环境从源代码构建OpenCV。

1.先决条件

1.1 CUDA和cuDNN

主要前提是安装NVIDIA CUDA工具包和NVIDIACUDA深度神经网络库(cuDNN)库。

如果您尚未安装这些,我建议您按照我之前的指南安装它们

设置后,让我们继续依赖关系。

1.2依赖关系

CMake和GCC需要配置安装和编译项目:

$sudo apt安装cmake

$sudo apt安装gcc g++

为了支持Python 3的安装,我们需要Python(大多数Ubuntu版本都已预装).Python-devel和Numpy:

$sudo apt安装python3 python3-dev python3-numpy

GUI功能.相机支持(v4l).媒体支持(ffmpeg.gstreamer…)等需要GTK:

$sudo apt安装libavcodec-dev libavformat-dev libswscale-dev

$sudo apt安装libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

$sudo apt安装libgtk-3-dev

下一个依赖项是可选的,但添加了对PNG.JPEG.JPEG2000.TIFF.WebP和其他格式的最新支持:

$sudo apt安装libpng-dev libjpeg-dev-libopenexr-dev-llibtiff-dev-labwebp-dev

现在,使用Git下载OpenCV存储库:

$git克隆https://github.com/opencv/opencv.git

我们还将下载OpenCV附加模块(CMake标志-D OpenCV_EXTRA_MODULES_PATH)存储库。这些模块需要与OpenCV一起使用CUDA功能。

$git克隆https://github.com/opencv/opencv_contrib.git

2.确定CUDA架构版本

CMake要求CUDA_ARCH_BIN设置一个标志,以使用正确的CUDA架构编译二进制文件。如果此标志设置不正确,二进制文件的最终使用将失败。

要正确设置标志,请首先使用英伟达smi L命令确定nvidia GPU型号:

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

现在转到https://developer.nvidia。com/cuda-gpus并找到您的GPU型号。

就我而言,我必须启用CUDA的GeForce和TITAN产品,然后找到GeForce GTX 1050:

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

在型号名称旁边,您将看到GPU的计算能力。这是NVIDIA GPU架构版本。它将是CMake标志的值:CUDA_ARCH_BIN=6.1

3.准备使用CUDA和cuDNN支持编译

我们将使用一组CMake标志来编译OpenCV。您可以在本文末尾找到这些详细的参考资料。

准备生成目录:

美元cd~/opencv

$mkdir建造

美元cd构建

使用以下标志运行CMake:

cmake公司

-D CMAKE_BUILD_TYPE=发布

-D CMAKE_安装_前缀=/usr/本地

-D,带_ CUDA=开

-D,其中_ CUDNN=开

-D,其中_立方=开

-D,其中_ TBB=开

-D OPENCV_DNN_CUDA=打开

-D OPENCV_启用_非自由=打开

-D CUDA_拱形_箱=6.1

-D OPENCV_EXTRA_MODULES_PATH=$HOME/OPENCV_contrib/MODULES

-D构建_示例=关闭

-D有_opencv _python3=ON

..

您应该具有类似于以下的输出:

...

–CXX编译器标识为GNU 9.4.0

...

–执行测试。。。

...

--OpenCV 4.5.5的一般配置-dev====

...

-NVIDIA CUDA:是(11.6版,CUFFT CUBLAS)

NVIDIA GPU架构:61

NVIDIA PTX拱门:

--

-cuDNN:是(8.3.2版)

...

—配置完成

–生成完成

–构建文件已写入:/home/j/opencv/Build

这表示预构建成功。

4.编译支持GPU加速的OpenCV

如果CMake没有错误,我们可以编译OpenCV。

我们只需要知道我们的CPU有多少内核可用。为此,请使用以下lscpu命令:

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

找到我们将在下一个命令中使用的CPU设置。

为了最终编译OpenCV,请使用make和-j或-jobs选项。此选项指定同时运行的作业数。它的值必须等于我们之前发现的内核数:

$make-j 8美元

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

就我而言,完成这项工作需要半个小时。

5.安装OpenCV

通过CUDA和cuDNN编译支持GPU加速的OpenCV后,我们可以像下载预编译包一样安装它。

在构建目录中,运行以下命令:

美元sudo制造安装

然后使用ldconfig创建必要的链接并将其缓存到我们新安装的OpenCV:

美元sudo ldconfig

最后一步是为Python 3创建一个到OpenCV绑定的符号链接,以供全局使用。如果您使用默认的Ubuntu安装,这是必要的,因为它的可执行文件将在目录中找到包dist包,并且OpenCV将默认安装在站点包中。

为此,请运行以下命令:

$sudo ln-s/usr/local/lib/python3.8/site-packages/cv2/usr/local/lib/pyton3.8/dist-package/cv3

使用python3解释器和cv2.cuda。printCudaDeviceInfo(0)以验证库是否正常工作:

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

就是这样。

清楚的

安装后,一些文件不再需要,可以安全删除:

美元cd~

$rm-rf opencv opencv_控制

使用的CMake标志引用

·CMAKE_BUILD_TYPE=RELEASE:禁用调试选项

·https:/docs.opencv.org/4.x/db/d05/tutorial_config_reference.html#tutorial_config_reference_general_debug

·CMAKE_INSTALL_PREFIX=/usr/local:设置生成的二进制文件的根目录

·https:/docs.opencv.org/4.x/db/d05/tutorial_config_reference.html#tutorial_config_reference_install_root

·WITH_CUDA=ON:启用CUDA支持

·https:/docs.opencv.org/4.x/db/d05/tutorial_config_reference.html#tutorial_config_reference_func_hetero

·当_CUDNN=ON时:(未记录)启用CUDNN支持

·WITH_CUBLAS=ON:(未记录)启用CUBLAS支持

·WITH_TBB=ON:使用线程构建块启用并行编程

·https:/docs.opencv.org/4.x/db/d05/tutorial_config_reference.html#tutorial_config_reference_func_core

·OPENCV_DNN_CUDA=ON:启用CUDA后端并构建DNN模块(需要CUDA.cuDNN和cuBLAS)

·https:/docs.opencv.org/4.x/db/d05/tutorial_config_reference.html#tutorial_config_reference_dnn

·OPENCV_ENABLE_NONFREE=ON:启用专利算法

·https:/docs.opencv.org/4.x/db/d05/tutorial_config_reference.html#tutorial_config_reference_misc

·CUDA_ARCH_BIN=6.1:指定NVIDIA GPU架构版本(请参阅第3节)

·https://github.com/opencv/opencw/blob/4.x/cmake/OpenCVDetectCUDA.cmake#L217

·OPENCV_EXTRA_MODULES_PATH=$HOME/OPENCV_contrib/MODULES:其他模块,包括OPENCV

·https:/docs.opencv.org/4.x/db/d05/tutorial_config_reference.html#tutorial_config_reference_general_contrib

·BUILD_EXAMPLES=OFF:禁用生成示例

·https:/docs.opencv.org/4.x/db/d05/tutorial_config_reference.html#tutorial_config_reference_general_tests

·HAVE_opencv_python3=ON:强制依赖opencv_python3

·https:/docs.opencv.org/4.x/db/d05/tutorial_config_reference.html#tutorial_config_reference_func

来源

·在Ubuntu中安装OpenCV-Python:https://docs。opencv。org/4.5.5/d2/de6/tutorial_py_setup_in_ubuntu.html

·OpenCV安装概述:https://docs。opencv。org/4.x/d0/d3d/tutorial_general_install.html

·OpenCV配置选项参考:https://docs。opencv。org/4.x/db/d05/tutorial_config_reference.html

·OpenCV的其他模块存储库:https://github.com/opencv/opencv_contrib

免责声明: 1、本站信息来自网络,版权争议与本站无关 2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权 3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和本站的同意 4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责 5、用户所发布的一切软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 6、您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 7、请支持正版软件、得到更好的正版服务。 8、如有侵权请立即告知本站,本站将及时予与删除 9、本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和视频仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
600学习网 » 在Ubuntu 20.04中使用CUDA安装OpenCV 4-600学习网