jetson Xavier NX 下安装opencv-4.1.1 及opencv_contrib-4.1.1

本文环境 Ubuntu18.04, jetson xavier nx , jetpack4.5.1


一、卸载自带的opencv库

jetson nano 的镜像源自带opencv,先卸载自带CV库,步骤如下

sudo apt-get purge libopencv*
sudo apt autoremove
sudo apt-get update

二、安装依赖

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

安装依赖的过程中,出现了问题,errorE: unable to locate libjasper-dev

解决方法:换为ARM Ubuntu18.04 国内源

 修改sources.list 文件,替换为ARM Ubuntu18.04 国内源,为保险起见,应做好备份

sudo vim /etc/apt/sources.list
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe

执行下面的命令,可完成安装,其中libjasper1是libjasper-dev的依赖包

sudo apt-get update
sudo apt-get install libjasper1 libjasper-dev

三、编译安装

1、从git上下载文件 opencv 与opencv_contrib 的源码,注意两者版本要一致,这里我用的版本是4.1.1 。

opencv源码链接 :https://github.com/opencv/opencv/releases/tag/4.1.1

opencv_contrib 源码链接:https://github.com/opencv/opencv_contrib/releases

2、下载完解码后将opencv_contrib-4.1.1 放入opencv-4.1.1的目录下,如图示:

jetson Xavier NX 下安装opencv-4.1.1 及opencv_contrib-4.1.1_第1张图片

在opencv-4.1.1目录下创建build 文件,执行 cmake

mkdir build 
cd build 
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/zhoujie/opencv/opencv_contrib-master/modules ..

若只安装opencv 不安装opencv_contrib,执行下面的cmake

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

 或者使用如下带选项的,我未选择支持QT:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -D CUDA_ARCH_BIN='7.2' -D WITH_CUDA=1 -D WITH_V4L=ON -D WITH_OPENGL=ON -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D OPENCV_GENERATE_PKGCONFIG=1 -D WITH_GTK_2_X=ON ..

3、执行make 

sudo make -j4

4.安装

sudo make install

5、 配置环境

终端输入:sudo gedit /etc/ld.so.conf.d/opencv.conf

在打开的文本里面输入:/usr/local/lib,然后保存、关闭

终端输入sudo ldconfig

四、编译过程遇到的问题

    在编译的过程中遇到了几个问题,现总结记录下来

1、fatal error: Eigen/Core: No such file or directory

   解决方案:

    先安装:

sudo apt-get install libeigen3-dev

因为 eigen 库默认安装在了 /usr/include/eigen3/Eigen 路径下,需使用下面命令映射到 /usr/include 路径下

sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen

2、fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory

 

原因是没找到这个文件,解决方法如下:

将opencv / modules / features2d复制,然后粘贴到build目录中来解决该问题。

3、出现fatal error: boostdesc_bgm.i: No such file or directory

解决方法:

查看 build 文件夹下的日志文件 CMakeDownloadLog.txt,在日志文件CMakeDownloadLog.txt中搜索 boostdesc_bgm.i 关键词。日志文件里就有它的下载地址,到指定位置下载即可。https://github.com/opencv/opencv_contrib/issues/1301,点开上面这个网址往下拉,有人提供了缺失的各个文件的链接,点击保存. 或者直接在这个网页里搜索 BenbenIO 这个用户的回答。

或者到本文提供的下载镜像去下载:boostdesc_bgm.i,vgg_generated_48.i等.rar

下载后,直接拷贝源码并生存同名文件,放在 opencv_contrib/modules/xfeatures2d/src/ 路径下即可

jetson Xavier NX 下安装opencv-4.1.1 及opencv_contrib-4.1.1_第2张图片

4、编译过程遇到的其他问题,参考:

     https://blog.csdn.net/weixin_39298885/article/details/110851373

 

 

 

 


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

你可能感兴趣的:(jetson Xavier NX 下安装opencv-4.1.1 及opencv_contrib-4.1.1)