Jetson系列开发板/Linux安装OpenCV,编译CUDA模块,流程详解

这篇具有很好参考价值的文章主要介绍了Jetson系列开发板/Linux安装OpenCV,编译CUDA模块,流程详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

  1. 本文主要介绍 Jetson Oring Nano,Jetson Nano, Jetson TX2这三块开发板上 OpenCV 的卸载安装及编译(支持 CUDA模块);
  2. 解决了一些出现的问题。

二、卸载OpenCV

如何查看本机安装的OpenCV是否支持CUDA?

  1. 如果已安装jtop,可以直接使用jtop查看,命令如下。
sudo jtop

按数字6查看INFO页面(某些开发板是7INFO),可以看到:

* OpenCV:	4.1.1	compiled CUDA:	NO

从官网拉下来的 OpenCV (已编译)是不支持CUDA 加速的,无法充分利用GPU。

  1. 如果未安装jtop,可以使用以下命令查看opencv库:
pkg-config --libs opencv

得到结果如下(只保留cuda相关库):

-L/usr/local/lib -lopencv_cudaoptflow -lopencv_optflow 
-lopencv_cudalegacy -lopencv_cudawarping -lopencv_cudaimgproc 
-lopencv_cudafilters -lopencv_cudaarithm -lopencv_cudev

如果OpenCV不支持CUDA,不会包含上述库。

如何卸载默认的 OpenCV ?

sudo apt purge libopencv*
sudo apt autoremove

完成以后更新一下。考虑到网速问题,建议先更换镜像源,本文不再赘述。

sudo apt update
sudo apt upgrade

三、安装编译 OpenCV

1.安装依赖库

  • Generic tools
sudo apt install build-essential cmake pkg-config unzip yasm git checkinstall
  • Image I/O libs
sudo apt install libjpeg-dev libpng-dev libtiff-dev
  • Video/Audio Libs - FFMPEG, GSTREAMER, x264 and so on
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libavresample-dev
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install libxvidcore-dev x264 libx264-dev libfaac-dev libmp3lame-dev libtheora-dev 
sudo apt install libfaac-dev libmp3lame-dev libvorbis-dev
  • OpenCore - Adaptive Multi Rate Narrow Band(AMRNB) and Wide Band(AMRWB) speech codec
sudo apt install libopencore-amrnb-dev libopencore-amrwb-dev
  • Cameras programming interface libs
sudo apt-get install libdc1394-22 libdc1394-22-dev libxine2-dev libv4l-dev v4l-utils
cd /usr/include/linux
sudo ln -s -f ../libv4l1-videodev.h videodev.h
cd ~
  • GTK lib for the graphical user functionalites coming from OpenCV highghui module
sudo apt-get install libgtk-3-dev
  • Python libraries for python3
sudo apt-get install python3-dev python3-pip
sudo -H pip3 install -U pip numpy
sudo apt install python3-testresources
  • Parallelism library C++ for CPU
sudo apt-get install libtbb-dev
  • Optimization libraries for OpenCV
sudo apt-get install libatlas-base-dev gfortran
  • Optional libraries
sudo apt-get install libprotobuf-dev protobuf-compiler
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen

2.下载OpenCV并解压

cd ~/Downloads
wget -O opencv.zip https://github.com/opencv/opencv/archive/refs/tags/4.5.3.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/refs/tags/4.5.3.zip
unzip opencv.zip
unzip opencv_contrib.zip

解压完成之后创建python虚拟环境(可选)。

sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/.cache/pip

使用vim编辑.bashrc,加上export两条语句。

sudo vim ~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

使其立即生效。

source ~/.bashrc

使用virtualenv创建虚拟环境,virtualenvname为虚拟环境名称,建议设置为cv,-p表示母python路径,笔者使用的是/usr/bin/python3。

virtualenv path/to/virtualenvname -p path/to/python3

创建成功后启动虚拟环境,并安装numpy

source path/to/vitualenvname/bin/active
pip install numpy

3.执行安装

创建build文件夹,进入。

cd opencv-4.5.3
mkdir build
cd build

执行cmake,建议将下下述命令写到.sh文件中,用bash运行。CUDA_TOOLKIT_ROOT_DIR应改为自己开发板上CUDA的根目录,CUDA_ARCH_BIN应改为GPU计算能力,笔者所用开发板支持的CUDA版本为10.2,计算能力5.3。
OPENCV_PYTHON3_INSTALL_PATH为python3的安装目录,还记得我们创建的虚拟环境吗,使用之,需要注意的是,笔者创建虚拟环境中python版本3.6,所以路径为path/to/virtualenv/lib/python3.6/site-packages,如果你的python版本不是3.6,应该更改为实际的python版本。PYTHON_EXECUTABLE为python解释器的路径,OPENCV_EXTRA_MODULES_PATH为opencv_contrib的路径,务必填写准确。

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
-D BUILD_opencv_python2=1 -D BUILD_opencv_python3=1 -D WITH_FFMPEG=1 \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \
-D WITH_TBB=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 \
-D WITH_CUDA=ON -D BUILD_opencv_cudacodec=OFF -D WITH_CUDNN=ON \
-D OPENCV_DNN_CUDA=ON \
-D CUDA_ARCH_BIN=5.3 \
-D WITH_V4L=ON -D WITH_QT=OFF -D WITH_OPENGL=ON -D WITH_GSTREAMER=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_PC_FILE_NAME=opencv.pc \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_PYTHON3_INSTALL_PATH=path/to/virtualenv/lib/python3.6/site-packages \
-D PYTHON_EXECUTABLE=path/to/virtualenv/bin/python \
-D OPENCV_EXTRA_MODULES_PATH=path/to/opencv_contrib-4.5.3/modules \
-D INSTALL_PYTHON_EXAMPLES=OFF -D INSTALL_C_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF ..

编译之前,检查下述选项。

--   NVIDIA CUDA:                 YES (ver 11.2, CUFFT CUBLAS FAST_MATH)
--   NVIDIA GPU arch:             75
--   NVIDIA PTX archs:
-- 
--   cuDNN:                         YES (ver 8.2.0)

以防万一,先扩展虚拟内存再执行make。

cd /
sudo mkdir swap
cd swap
sudo dd if=/dev/zero of=swapfile bs=1M count=20480
sudo mkswap swapfile
sudo swapon swapfile

上述命令创建了大小为bs*count的swap空间,可以根据需要修改大小。将生成的文件转换成swap文件并激活。
设置swap分区为开机自动挂载。

sudo cp /etc/fstab /etc/fstab.bak
echo '/swap/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -h

查看cpu内核数,多开几个内核。-j4编译时间约为 1~3 小时,编译完成后进行安装。

nproc
make -j4
sudo make install

至此,安装成功。

四、检查安装是否成功

在 python3 中运行以下命令,正确打印出本次安装版本号即表示成功。

import cv2
cv2.__version__

执行jtop指令,观察到下述情况即表示OpenCV已支持CUDA。

* OpenCV:	4.5.3	compiled CUDA:	YES

大功告成!文章来源地址https://www.toymoban.com/news/detail-705535.html

到了这里,关于Jetson系列开发板/Linux安装OpenCV,编译CUDA模块,流程详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jetson OpenCV 安装,支持cuda加速,已解决多个常见问题

    1 :本文主要介绍 Jetson Xavier NX (以下简称 NX ) 平台下 OpenCV 的卸载及编译安装带 CUDA 加速的OpenCV 2 :并提出解决依赖项无法安装的问题 为什么要卸载默认的 OpenCV ? 输入命令 按数字6查看INFO页面,可以看到 所以默认的 OpenCV 版本是不带 CUDA 加速的,无法充分利用 NX 的 GPU 性能

    2024年01月19日
    浏览(41)
  • Win10 OpenCV编译安装CUDA版本

    Win10 + Microsoft Visual Studio Community 2017 + CUDA11.3 + CUDNN8.2 + RTX GeForce 3090 + OpenCV4.5.3 前往官网下载Visual Studio Installer即可,做如下勾选,安装即可 完成后,查看环境变量,将MSVC编译器地址加入环境变量 前往官网下载CUDA和对应的CUDNN,切记一定要对应CUDNN和CUDA版本,根据提示一步一

    2024年02月06日
    浏览(39)
  • OpenCV_CUDA_VS编译安装

    我这里是下载的OpenCV4.5.4,但是不知道到在vs里面build时一直报错,后面换了4.7.0的版本测试,安装成功。 Release OpenCV 4.5.4 · opencv/opencv · GitHub 这个里面有官方预编译好的OpenCV库,可以直接食用。 扩展包: https://github.com/opencv/opencv_contrib/releases/tag/4.5.4 这里cmake版本要求应该不是

    2024年02月09日
    浏览(38)
  • ARM-Linux 开发板下安装编译 OpenCV 和 Dlib

    安装 OpenCV 和 Dlib 不像在 x86 平台下那样简单,用一句命令就可以自动安装完。而在 ARM 平台中许多软件都需要自行下载编译,且还有许多问题,本篇文章就是记录在 ARM 平台下载 OpenCV 踩过的坑。 硬件环境: RK3568 + Ubuntu20.04。 1、安装 OpenCV 需要的依赖库。 先添加源,以防安装

    2024年04月08日
    浏览(102)
  • ubuntu 编译安装支持CUDA的OpenCV+其他opencv细节(需要特定版本gcc)

    在安装完“ linux CUDAtoolkit+cudnn+tensorrt 的安装”之后进行支持cuda的opencv安装 否则报错:CMake Error at modules/dnn/CMakeLists.txt:41 (message): DNN: CUDA backend requires CUDA Toolkit. Please resolve dependency or disable OPENCV_DNN_CUDA=OFF - $ nvcc -v ----- Command \\\'nvcc\\\' not found, but can be installed with: sudo apt install nvid

    2024年02月15日
    浏览(42)
  • 【AVD】Linux 编译支持 Cuda 的 OpenCV 4.6,解决报错 throw_no_cuda

    最近在做视频镜头切换检测功能,需要用 OpenCV 计算某一帧图像的直方图,于是尝试着在 Linux 上编译安装 OpenCV。然而仅用软解码和 CPU 计算着实慢了些,所以就想使用 Cuda 计算来加速,然而调用时却报错说 function/feature is not implement,the called functionality is disabled for current buil

    2024年02月15日
    浏览(35)
  • Nvidia Jetson TX2 配置Cuda 加速的Opencv

    “其他流程网上都有但是要找到适合自己的且没有报错的有点艰难” 首先做好心理准备,用Cmake进行编译的话,每次流程基本上都是2h左右,所以我选择用网线VNC直连后,挂后台处理。 1.安装Jetson的jtop监控器 2.准备Cmake-gui可视化安装程序(因为之前用代码的话路径容易写错,

    2024年02月16日
    浏览(29)
  • 亲测可用-jetson nano b01上配置cuda加速的opencv

    前面的文章已经写过如何安装镜像及基础配置 亲测可用-jetson nano B01镜像安装及配置 jetson nano的官方镜像中自带opencv,但是不支持显卡加速 输入命令 按下数字7查看INFO界面,可以看到 所以默认自带的是不支持cuda加速(GPU)的,没有办法充分发挥jetson上GPU的性能 卸载自带的op

    2024年02月03日
    浏览(35)
  • Linux/Debian/Ubuntu-OpenCV(4.5.4/4.6.0)+CUDA(11.3)配置编译全流程

    本文用来记录在linux环境下docker中编译 OpenCV with cuda 的过程,同时编译了4.5.4和4.6.0两个版本均可编译通过。 本地是linux环境也可参考本文完成编译。 系统:debian 11 CPU:i7 内存:16G 显卡:Nvidia Quadro M2000 github直接下载连接: OpenCV 4.5.4 source code OpenCV 4.6.0 source code 如需下载其他

    2024年02月10日
    浏览(32)
  • Jetson Xavier NX 上查看CUDA、Cudnn、Tensorrt、Opencv的版本及配置信息

    以上功能都可以通过jtop实现,下面是如何安装jtop: 启动后界面如下,可以查看到开发板资源使用情况,接着 点击info 如果安装成功,可以查看到 CUDA、cuDNN、opencv和TensorRT等版本信息 注意!如果是Jetpack5.0.0以上版本可能会看不到很多信息,因为稳定版本不支持,需要安装最新

    2024年02月15日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包