转自:https://zhuanlan.zhihu.com/p/580968763
小结 : 解决 NX 中 OpenCV“Compiled CUDA : NO”问题
刚刷好系统的 NX 开发板,自带的 OpenCV 会处于 “Compiled CUDA : NO”的状态,这种状态下 OpenCV 只会调用 CPU 的资源,不会调用 GPU 。我们要重新安装 OpenCV。
零、NX 开发板系统介绍
NVIDIA Jetson Xavier NX with Jetpack 4.6.1
本次重装 OpenCV 的开发板是插 SD 卡的版本,因此对硬盘空间要求不严格。
使用刚刚刷好系统的开发板,不进行其他操作,在正确重装完OpenCV后,使用命令查看系统磁盘占用,结果为:
nvidia@nvidia-desktop:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk0p1 117G 20G 93G 18% /
none 3.5G 0 3.5G 0% /dev
tmpfs 3.8G 52K 3.8G 1% /dev/shm
tmpfs 3.8G 29M 3.8G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
tmpfs 778M 12K 778M 1% /run/user/120
tmpfs 778M 0 778M 0% /run/user/1000
如果各位选用的是 eMMC 版的 NX ,一定要注意提前卸载用不到的软件,保证磁盘空间。
在整个过程中,请尽量保证网络环境可以流畅地访问到 GitHub。
一、卸载自带的 OpenCV
sudo apt purge libopencv*
sudo apt autoremove
二、安装 OpenCV 依赖库
sudo apt-get update
sudo apt-get install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y python2.7-dev python3.6-dev python-dev python-numpy python3-numpy
sudo apt-get install -y libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
sudo apt-get install -y libv4l-dev v4l-utils qv4l2 v4l2ucp
sudo apt-get install -y curl
sudo apt-get install -y libeigen3-dev
sudo apt-get install -y libjasper-dev
三、下载源码并解压安装
下载:
curl -L https://github.com/opencv/opencv/archive/4.1.1.zip -o opencv-4.1.1.zip
curl -L https://github.com/opencv/opencv_contrib/archive/4.1.1.zip -o opencv_contrib-4.1.1.zip
解压:
unzip opencv-4.1.0.zip
unzip opencv_contrib-4.1.0.zip
cd opencv-4.1.0/
mkdir release
cd release/
(源码可以直接使用别的电脑复制到)
安装到系统目录:
cmake -D WITH_CUDA=ON -D OPENCV_EXTRA_MODULES_PATH=…/…/opencv_contrib-4.1.1/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local …
sudo make install
四、安装过程中可能出现的问题
1、提示找不到 libjasper-dev
在 /etc/apt/sources.list 文件末尾另起一行写入下列内容:
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
保存后执行下列指令:
sudo apt update
apt install libjasper1 libjasper-dev
2、提示 #include <Eigen/Core> 出错
sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen
3、提示 boostdesc_bgm.i 缺失
链接:https://pan.baidu.com/s/1ihQggYXevvgw7kcMKT8Uvg 提取码:9491
将其中的两个代码文件放入以下路径:
(刚解压的路径)/opencv_contrib/modules/xfeatures2d/src/
重新执行:
sudo make install
五、确认安装状态
终端执行:
jtop