您的位置:首页 > 运维架构

NVIDIA TX2(Ubuntu16.04)+CUDA8.0+OpenCV3.4环境配置

2018-03-27 15:52 603 查看
本帖是配置OpenCV过程中遇到的各种问题汇总整理而来,感谢开放社区各位大虾的分享,文中涉及转载的地方都有标注。
本文内容提供的方法皆经过实际操作验证,如有遗漏欢迎补充,欢迎留言谈论。

1. TX2刷机过程

TX2 Jetpack3.0 刷机时可以选择CUDA toolkit 和OpenCV,但是TX2刷机以后查询不到版本信息,需要手动安装配置

TX2刷机流程可参考:https://www.ncnynl.com/archives/201706/1739.html

2.CUDA 8.0安装

1) 根目录下执行如下指令安装CUDA 8.0版本

$cd ~
$wget http://developer.download.nvidia.com/devzone/devcenter/mobile/jetpack_l4t/013/linux-x64/cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb
$ sudo dpkg -i cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb
$ sudo apt-get update

$ sudo apt-get install cuda-toolkit-8-0
参考http://www.mobibrw.com/2017/8691

2) CUDA 8.0 环境配置及示例运行

#安装完成后查看版本信息,如果显示具体版本信息则安装完成,否则检查环境变量设置

nvcc -V
#如果命令无法找到,则在TX2上设置环境变量
sudo gedit /etc/bash.bashrc

#在文件的末尾加入如下,然后reboot
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

#在cuda对应的example中所在的目录下执行 sudo make 命令,看能示例否跑起来?
如果运行示例出现未授权报错,修改 NVIDIA/samples/common/inc/help_gl.h放开ARM编译宏,修改第105行为:

#if !defined(GLX_EXTENSION_NAME) || defined(_arm_) || defined(_aarch64_)
参考https://blog.csdn.net/qq_38880380/article/details/76209300

示例成功运行,CUDA 8.0配置完成,接着进行一下步工作,安装成功以后才写的帖子,可惜当时没及时截图

3.OpenCV安装

OpenCV安装及配置可以参考官网提供的教程https://docs.opencv.org/3.2.0/d6/d15/tutorial_building_tegra_cuda.html
也可以参考如下链接https://blog.csdn.net/qq_38880380/article/details/77069187
主要补充期间可能遇到的问题:
按照官网提示需要先在本机安装如下工具,CMake, gcc, Python自行问度娘安装方法

Prerequisites for Ubuntu Linux

These are the basic requirements for building OpenCV for Tegra on Linux:
CMake 2.8.10 or newer
CUDA toolkit 8.0 (7.0 or 7.5 may also be used)
Build tools (make, gcc, g++)
Python 2.6 or greater

cmake过程一直出现目录不存在等问题,除了必要的修改_DCUDA_ARCH_BIN=6.2之外,附上我成功执行的脚本
opencv目录下:

 $ mkdir build

 $ cd build
cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr/local/ \
    -DBUILD_PNG=OFF \
    -DBUILD_TIFF=OFF \
    -DBUILD_TBB=OFF \
    -DBUILD_JPEG=OFF \
    -DBUILD_JASPER=OFF \
    -DBUILD_ZLIB=OFF \
    -DBUILD_EXAMPLES=ON \
    -DBUILD_opencv_java=OFF \
    -DBUILD_opencv_python2=ON \
    -DBUILD_opencv_python3=OFF \
    -DENABLE_PRECOMPILED_HEADERS=OFF \
    -DWITH_OPENCL=OFF \
    -DWITH_OPENMP=OFF \
    -DWITH_FFMPEG=ON \
    -DWITH_GSTREAMER=OFF \
    -DWITH_GSTREAMER_0_10=OFF \
    -DWITH_CUDA=ON \
    -DWITH_GTK=ON \
    -DWITH_VTK=OFF \
    -DWITH_TBB=ON \
    -DWITH_1394=OFF \
    -DWITH_OPENEXR=OFF \
    -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-8.0 \
    -DCUDA_ARCH_BIN=6.2 \
    -DCUDA_ARCH_PTX="" \

    ../
如果下载的是opencv_extra需要跑官方示例,执行以下脚本,注意实际目录位置
cmake \

    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr/local/ \
    -DBUILD_PNG=OFF \
    -DBUILD_TIFF=OFF \
    -DBUILD_TBB=OFF \
    -DBUILD_JPEG=OFF \
    -DBUILD_JASPER=OFF \
    -DBUILD_ZLIB=OFF \
    -DBUILD_EXAMPLES=ON \
    -DBUILD_opencv_java=OFF \
    -DBUILD_opencv_python2=ON \
    -DBUILD_opencv_python3=OFF \
    -DENABLE_PRECOMPILED_HEADERS=OFF \
    -DWITH_OPENCL=OFF \
    -DWITH_OPENMP=OFF \
    -DWITH_FFMPEG=ON \
    -DWITH_GSTREAMER=OFF \
    -DWITH_GSTREAMER_0_10=OFF \
    -DWITH_CUDA=ON \
    -DWITH_GTK=ON \
    -DWITH_VTK=OFF \
    -DWITH_TBB=ON \
    -DWITH_1394=OFF \
    -DWITH_OPENEXR=OFF \
    -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-8.0 \
    -DCUDA_ARCH_BIN=6.2 \
    -DCUDA_ARCH_PTX="" \
    -DINSTALL_C_EXAMPLES=ON \
    -DINSTALL_TESTS=OFF \
    -DOPENCV_TEST_DATA_PATH=../opencv_extra/testdata \

    ../
完成之后会有如下提示:



接下来就是make, make install 过程;make过程时间较长,可以泡茶打水冲咖啡。。。
教程简单,动手不易,孰能生巧,仅以此文mark下期间过程,供借鉴参考
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  t x2 cuda opencv