OpenCV-3.4.5 GPU版本+contrib for Jetson Xavier NX编译安装过程

1. 安装包

准备好OpenCV-3.4.5及opencv_contrib-3.4.5解压

2. 安装必要的依赖环境

2.1 安装cuda环境

使用dpkg -i xxx.deb的方式安装好cuda-repo-cross-aarch64-10-2-local-10.2.89_1.0-1_all.deb和cuda-repo-l4t-10-2-local-10.2.89_1.0-1_arm64.deb两个包;

在终端输入
sudo apt-get install cuda-toolkit-10.2
所需时间较长,完成后输入nvcc -V,若显示cuda版本即安装成功;

安装cudnn的过程不再赘述;

2.2 使用apt-get安装依赖项

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 libdc1394-22-dev

切记要安装libgtk2.0-dev和pkg-config

2.3 安装cmake-gui

终端输入
sudo apt-get install cmake-gui

3.开始编译

1) 在opencv-3.4.5目录下建立build文件夹

mkdir build & cd build

2) 使用cmake-gui打开

cmake-gui ..
勾选上grouped和advanced
再点击configure直至没有报错和编译项中没有红色出现

3)勾选及编辑编译项

需要修改的地方包括:

1.CMAKE_BUILD_TYPE 改成Release

  1. CMAKE_INSTALL_PREFIX 改成自己的路径,默认为/usr/local
  2. 勾选WITH_CUDA
  3. 确认OPENCV_GENERATE_PKGCONFIG勾选
  4. 确认INSTALL_PYTHON_EXAMPLES为OFF
  5. OPENCV_EXTRA_MODULES_PATH设定为: xxx/opencv_contrib-3.4.5/modules
  6. OPENGL 为ON
  7. OPENCV_ENABLE_NONFREE为ON ,这是安装opencv专利模块的语句

后两条7、8为可选
再次点击configure直至编译项没有红色出现

4)几乎一定会出现的问题(科学上网可以避免的问题)

  1. ippicv问题
    解决方法:离线下载好ippicv_2019_lnx_intel64_general_20180723.tgz
    将 xxx/opencv-3.4.5/3rdparty/ippicv/ippicv.cmake文件中47行"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
    改为”file:保存刚刚下载好的离线包的位置",如"file:~/Downloads/"
  1. 无法下载xfeatures2d/boostdesc等文件的问题
    离线下载以下文件到opencv_contrib/modules/xfeatures2d/src/ 路径
    boostdesc_bgm.i
    boostdesc_bgm_bi.i
    boostdesc_bgm_hd.i
    boostdesc_lbgm.i
    boostdesc_binboost_064.i
    boostdesc_binboost_128.i
    boostdesc_binboost_256.i
    vgg_generated_120.i
    vgg_generated_64.i
    vgg_generated_80.i
    vgg_generated_48.i
    同以上的方式修改xxx/opencv-3.4.5/opencv_contrib-3.4.5/modules/xfeatures2d/cmake下的两个cmake文件中的路径
  1. data: Download: face_landmark_model.dat
    离线下载face_landmark_model.dat
    同以上的方式修改xxx/opencv-3.4.5/opencv_contrib-3.4.5/modules/face/CMakeLists.txt

再次点击configure直至没有报错
点击generate

5)在build目录下使用make编译

make -j6

编译时间较长,完成后再键入

make install

4.修改环境变量时opencv生效

1)首先将OpenCV的库添加到路径,从而可以让系统找到

sudo vim /etc/ld.so.conf.d/opencv.conf 

添加opencv安装好的lib路径

xxx/my_install/lib

保存后执行

sudo ldconfig

2)配置bash,执行如下命令

sudo vim /etc/bash.bashrc  

在末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:xxx/my_install/lib/pkgconfig  
export PKG_CONFIG_PATH 

保存后执行

source /etc/bash.bashrc

输入命令:

pkg-config --modversion opencv4
pkg-config --cflags --libs opencv4

如果没有出错,说明安装成功。

5.测试

进入 xxx/opencv-3.4.5/samples/cpp/example_cmake
创建build目录

mkdir build & cd build

编译例程:

cmake ..
make
./opencv_example

若出现Hello OpenCV则为测试成功。

你可能感兴趣的:(OpenCV-3.4.5 GPU版本+contrib for Jetson Xavier NX编译安装过程)