前言
在宇树四足机器狗开发过程中,可能会碰到无法调用aruco库实现二维码检测,这是因为没有安装opencv_contrib库,安装opencv_contrib库需要卸载现有的opencv,然后重新安装,本文就是记录这个过程,亲测有效。
测试环境:python3.6、jetpack4.5、opencv4.1.1
注意:jetson nano如果用了emmc作为系统盘的话,存储容量不能支撑完整个编译过程,需要在大于16g系统盘上编译安装(选择大容量ssd、sd卡等作为系统盘)
安装前需要先下载相关安装文件
链接:https://pan.baidu.com/s/1qjeADETquLnBruEFm0r5og?pwd=1n9z 提取码:1n9z
一、卸载系统中老版本opencv
打开终端逐行执行以下代码
sudo apt-get purge libopencv* sudo apt autoremove sudo apt-get update
二、安装依赖项
打开终端逐行执行以下代码
sudo apt-get install build-essential sudo apt-get install libglew-dev libtiff5-dev zlib1g-dev libjpeg-dev libavcodec-dev libavformat-dev libavutil-dev libpostproc-dev libswscale-dev libeigen3-dev libtbb-dev libgtk2.0-dev pkg-config libpng-dev sudo apt-get install libatlas-base-dev gfortran sudo apt update
三、编译安装
把百度网盘中下载的opencv4文件夹放到Jetson Nano的home目录下,然后打开终端执行以下命令
cd opencv4/opencv-4.1.1 mkdir build cd build cmake \
cmake \后会跳出让你输入指令,复制以下内容过去
-DCMAKE_BUILD_TYPE=Release \ -DBUILD_PNG=ON \ -DBUILD_TIFF=ON \ -DBUILD_TBB=ON \ -DBUILD_JPEG=ON \ -DBUILD_JASPER=OFF \ -DBUILD_ZLIB=OFF \ -DBUILD_EXAMPLES=OFF \ -DBUILD_opencv_java=OFF \ -DBUILD_opencv_python2=ON \ -DBUILD_opencv_python3=ON \ -DENABLE_PRECOMPILED_HEADERS=OFF \ -DWITH_OPENCL=ON \ -DWITH_OPENMP=ON \ -DWITH_FFMPEG=ON \ -DWITH_GSTREAMER=ON \ -DWITH_GSTREAMER_0_10=ON \ -DWITH_CUDA=ON \ -DWITH_GTK=ON \ -DWITH_VTK=ON \ -DWITH_TBB=ON \ -DWITH_1394=OFF \ -DWITH_OPENEXR=OFF \ -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \ -DCUDA_ARCH_BIN=5.3 \ -DCUDA_ARCH_PTX="" \ -DINSTALL_C_EXAMPLES=ON \ -DOPENCV_ENABLE_NONFREE=ON \ -DINSTALL_TESTS=OFF \ -DOPENCV_EXTRA_MODULES_PATH=/home/此位置根据实际情况填写/opencv4/opencv_contrib-4.1.1/modules \ ..
注意以下几个参数
#(1)DOPENCV_EXTRA_MODULES_PATH要改成opencv_contrib-4.1.1的对应地址 #(2)DCUDA_ARCH_BIN要改成对应数值,查看方法如下: cd /usr/local/cuda/samples/1_Utilities/deviceQuery sudo make ./deviceQuery
参数复制过去后回车开始执行cmake
都结束后进行 make,然后等待(事先调整 CPU 性能模式打开尽量多的核心)
执行以下指令
sudo make -j4 #卡100%可能是内存爆了,改j1试一试,编译遇见卡不动就重启,重新编译
结束后
sudo make install
四、测试
逐行输入以下指令
python3 import cv2 cv2.__version__ import cv2 import cv2.aruco as aruco print("Aruco module is available")
总结
以上就是基于Jetson Nano的opencv-4.1.1和opencv_contrib-4.1.1版本的编译安装。
还没有评论,来说两句吧...