NVIDIA TX2(Ubuntu16.04)+CUDA8.0+OpenCV3.4环境配置
本帖是配置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.****.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.****.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下期间过程,供借鉴参考