我们使用SDKManager刷机完成后,使用jtop查看,发现OpenCV 是不带CUDA加速的,因此,我们需要安装CUDA加速的OpenCV,这样后续在使用的时候速度会快很多。
首先我们先卸载默认OpenCV
sudo apt purge libopencv* -y
sudo apt autoremove
sudo apt update
sudo apt upgrade
然后我们安装我们需要的一些依赖
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
接着我们下载OpenCV并解压
cd ~/Downloads #Cuda11需要较新版本的OpenCV
wget -O opencv.zip https://github.com/opencv/opencv/archive/refs/tags/4.5.4.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/refs/tags/4.5.4.zip
unzip opencv.zip
unzip opencv_contrib.zip
接着进行Cmake一下
cd opencv-4.5.4/
mkdir build && cd build
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-11.4 \ #修改为自己的cuda路径
-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=8.7 \
-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 \
#修改为自己的opencv_contrib下载路径
-D OPENCV_EXTRA_MODULES_PATH=/home/jetson/Downloads/opencv_contrib-4.5.4/modules \
-D INSTALL_PYTHON_EXAMPLES=OFF -D INSTALL_C_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF ..
接着我们开始编译
nproc #查看设备核心数
make -j$(nproc) #-j4编译时间约为 1~3 小时
sudo make install #安装
编译完成不报错即代表编译完成
安装完成不报错即代表安装完成
查看
最后,使用jtop 查看是否安装完成
完结撒花!