默认使用 jetpack 安装的 opencv 是没有 cuda 加速的,无法充分利用 Jetson 的 GPU 性能;
通过 jetson_release -v 命令进行查看:
opencv_version
jetson_release -v
apt purge libopencv*
apt autoremove
apt update
默认安装的 opencv 的版本:4.9.0 版本;
在安装之前,请切换到 root 用户,避免安装中的权限问题;
apt install -y build-essential checkinstall cmake pkg-config yasm git gfortran
apt install -y libjpeg8-dev libjasper-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libv4l-dev
apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2.0-dev libtbb-dev libatlas-base-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore-dev libopencore-amrnb-dev libopencore-amrwb-dev x264 v4l-utils
apt install python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
libjasper-dev:这个包在安装过程中可能会报错,删除这个包后重新安装;
(目前 opencv 最新版本为 4.10.0 版本,可以根据需要安装最新版本)
opencv 版本和 opencv_contrib 版本需要对应;
opencv 源码地址:https://github.com/opencv/opencv/archive/refs/tags/4.9.0.tar.gz
opencv_contrib 源码地址:https://github.com/opencv/opencv_contrib/archive/refs/tags/4.9.0.tar.gz
wget https://github.com/opencv/opencv/archive/refs/tags/4.9.0.tar.gz
mv 4.9.0.tar.gz opencv-4.9.0.tar.gz
wget https://github.com/opencv/opencv_contrib/archive/refs/tags/4.9.0.tar.gz
mv 4.9.0.tar.gz opencv_contrib-4.9.0.tar.gz
mkdir opencv-4.9.0
tar -zxf opencv-4.9.0.tar.gz -C opencv-4.9.0
mkdir opencv_contrib-4.9.0
tar -zxf opencv_contrib-4.9.0.tar.gz -C opencv_contrib-4.9.0
cd opencv-4.9.0
mkdir build
cd build
需要进行适配的地方:
- 修改 CUDA_ARCH_BIN 和 CUDA_ARCH_PTX 的版本,这个在第一步中 通过 jetson_release -v 命令可以查看;
- 修改 OPENCV_EXTRA_MODULES_PATH 路径值,填写 opencv_contrib 包解压的路径值;
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DOPENCV_ENABLE_NONFREE=1 \
-DBUILD_opencv_python2=1 \
-DBUILD_opencv_python3=1 \
-DWITH_FFMPEG=1 \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
-DCUDA_ARCH_BIN=7.2 \
-DCUDA_ARCH_PTX=7.2 \
-DWITH_CUDA=1 \
-DENABLE_FAST_MATH=1 \
-DCUDA_FAST_MATH=1 \
-DWITH_CUBLAS=1 \
-DOPENCV_GENERATE_PKGCONFIG=1 \
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.9.0/modules \
..
等待执行完成;
查看线程数:
cat /proc/stat | grep cpu[0-9] -c
根据线程数,设置 -j 的值:
make -j6
等待编译完成,进行安装:
make install
如果安装完成之后,这里显示 YES,则表示安装成功;
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。