TX2+JetPack3.2.1+opencv3.3.1+caffe+realsense2.0环境配置教程

2023-05-16

TX2开箱


一共6样,开机之后自带ubuntu16.04LTS的系统,ARMv8的处理器,所以有些指令,安装包必须与arm结构保持一致。

开机之后,按照指示进入图形界面:

 

Step 1)
nvidia@tegra-ubuntu:~$ cd /home/nvidia/NVIDIA-INSTALLER
Step 2)
nvidia@tegra-ubuntu:~/NVIDIA-INSTALLER$ sudo ./installer.sh
Step 3)
nvidia@tegra-ubuntu:~/NVIDIA-INSTALLER$ reboot
注意:
-installer.sh 只能运行一次。

TX2刷机之JetPack3.2.1

刷机步骤可参考网络

这里安装JetPack3.2.1,因为librealsense2.0 要对应L4T 28.2.1(JetPack3.2.1),所以 下载 JetPack-L4T-3.2.1-linux-x64_b23.run

下载地址:https://developer.nvidia.com/embedded/jetpack-archive

准备一台ubuntu电脑作为主机,不能是虚拟机。打开TX2,主机与TX2连接同一个wifi即可,这里,记下TX2的IP地址之后就可以把TX2放一边,或者关机断电了

首先更改执行权限:

$ chmod +x ./JetPack-L4T-3.3-linux-x64_b39.run

在终端直接运行就可以打开安装界面

./JetPack-L4T-3.3-linux-x64_b39.run

到这一步时,分三个部分安装,可以分成三步走,也就是运行三遍./JetPack-L4T-3.3-linux-x64_b39.run

运行第一遍,安装第一部分,第一部分选择‘install’安装到主机上。其余的选择‘no action’ 漫长的下载与安装。。。。。。

运行第二遍,安装第二部分,第二部分选择‘install’,其余部分选择‘no action’,这一部分最后会跳出一个post installtion 的黑色对话框,要求把tx2设置 为‘nvidia corp’模式

此时,

  1. 用Micro USB数据线(也就是我们第一节所写的开箱图中的标号为3的线)连接PC和TX2。(注意:数据线接到TX2的Micro USB接口J20)
  2. 给tx2上电,按下power键
  3. 按下并松开TX2的POWER键S4;按下并保持FORCE RECOVERY键S3;在此期间按下并松开RESET键S1;等待2秒后松开FORCE RECOVERY键S3。

之后在主机输入

$ lsusb

出现nvidia corp,然后在post installtion 的黑色对话框按任意键继续........................

运行第三遍,安装第三部分,第三部分选择‘install’,其余设置为‘no action’,中间输入TX2的IP地址用户名密码,就可以通过wifi安装cuda,opencv等库了,

可以跑下刷机后自带的例子

cd ~
cd NVIDIA_CUDA-9.0_Samples/bin/aarch64/linux/release/
./oceanFFT

cd ~
cd tegra_multimedia_api/samples/backend
./backend 1 ../../data/Video/sample_outdoor_car_1080p_10fps.h264 H264 --trt-deployfile ../../data/Model/GoogleNet_one_class/GoogleNet_modified_oneClass_halfHD.prototxt --trt-modelfile ../../data/Model/GoogleNet_one_class/GoogleNet_modified_oneClass_halfHD.caffemodel --trt-forcefp32 0 --trt-proc-interval 1 -fps 10

 

opencv3.3.1手动编译


由于JetPack安装的opencv是默认python2的,网上一条命令的事,sudo python3.5 -m pip install opencv-python,or sudo pip3 install opencv-python

不知道为什么到这里就不行了

可能因为arm架构把,这里只能手动编译opencv了

 

jetpack安装的pip也是python2的,先升级下pip

sudo apt-get install --reinstall python3-pip
pip3 -V 应该会报错,报错后修改 /usr/bin/pip3 文件

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())



好了,开始安装opencv

#uninstall opencv:不用卸也可以,python2可以正常import cv2

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



#install opencv:

sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
 
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
 
sudo apt-get install libgtk-3-dev
 
sudo apt-get install libatlas-base-dev gfortran
 
sudo apt-get install python3.5-dev
sudo apt-get install python3-numpy
cd ~/opencv-3.3.0/
 
mkdir build
 
cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D PYTHON3_EXECUTABLE=/usr/bin/python3 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.5 \
-D PYTHON_INCLUDE_DIR2=/usr/include/aarch64-linux-gnu/python3.5m \
-D PYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.5m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.5/dist-packages/numpy/core/include/ ..

make -j6
sudo make install

 

 

caffe安装


从一个深坑到另一个更深的坑................

 

首先安装各种依赖:(注:一些python库,skimage,protobuf,numpy,scipy都要装python3版本的,不然后面import的时候还是找不到)

# general dependency
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev

# BLAS dependency
sudo apt-get install libatlas-base-dev

# python dependency
sudo apt-get install python (optional)

sudo apt-get install python-dev 

# python dependency etc.
sudo apt-get install ipython (optional)
sudo apt-get install ipython-notebook (optional)

sudo apt-get install python3-sklearn  or  sudo pip3 install sklearn
sudo apt-get install python3-skimage     or   sudo pip3 install skimage
sudo pip3 install scikit-image(可以先不装,很慢,如果后面import caffe报错再回来装)
sudo pip3 install numpy
sudo pip3 install protobuf

# google dependency
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install libgflag-dev

sudo apt-get install -y libopencv-dev (optional)


这是目前总结的包,如有error,请自行搜索。

 

开始下载安装编译

git clone https://github.com/weiliu89/caffe.git

cd caffe

git checkout ssd

cp Makefile.config.example Makefile.config

(you'd better update the cudnn.hpp,(Location: include/caffe/util/cudnn.hpp)
download this file from: 
https://github.com/BVLC/caffe/blob/master/include/caffe/util/cudnn.hpp
)

make -j8

make py

make test -j8

#可选
make runtest -j8

 

编译完成后,添加pathonpath

sudo vim ~/.bsahrc

export PYTHONPATH=~/caffe/python:$PYTHONPATH

source ~/.bashrc

验证caffe是否安装好

python3

import caffe

 

caffe编译过程中错误记录:


错误:

when make all cannot find -lboost_python3

modificate makefile.config line 74

解决方案:

PYTHON_LIBRARIES := boost_python-py35 python3.5m (viki的配置文件已修改)

错误:

CXX src/caffe/solver.cpp
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0-rc3
/usr/bin/ld: cannot find -lhdf5_hl
/usr/bin/ld: cannot find -lhdf5
collect2: error: ld returned 1 exit status
Makefile:566: recipe for target '.build_release/lib/libcaffe.so.1.0.0-rc3' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1

解决方案:

然后修改Makefile 文件(注意不是)Makefile.config 
将里面的
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

错误:

numpy.core.multiarray failed to import

解决方案:

sudo pip3 install -U numpy

错误:

NO MODULE NAMED 'SCIPY._LIB.DECORATOR

解决方案:

sudo pip3 install scipy --ignore-installed scipy

sudo pip3 install -U scipy

错误:

ImportError: No module named 'google'

解决方案:

sudo pip3 install protobuf

错误:

ImportError: No module named 'skimage'

解决方案:

pip3 install scikit-image(下载超级慢,建议改下载源) 如果不换源,直接执行这句命令,那只能等了,慢到怀疑人生,一天都不一定装的好。

另一种方法,可以参考官方文档,网址:https://scikit-image.org/docs/stable/install.html

使用开发包安装 git clone https://github.com/scikit-image/scikit-image.git
cd scikit-image
pip install -e .

这种方法待验证,我也是装了很久才发现这个github的,~衰~

错误:

TypeError: __init__() got an unexpected keyword argument 'syntax'

解决方案:

protobuf版本不对,

pip install --upgrade protobuf

 

错误:

Check failed: *ptr host allocation of size 368640000 failed

解决方案:

内存不够,把batch_size改小

错误:

Check failed: status == CUBLAS_STATUS_SUCCESS (13 vs. 0) CUBLAS_STATUS_EXECUTION_FAILED

解决方案:

GPU驱动或CUDA版本安装不兼容

错误:

ImportError: /lib/x86_64-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found

解决方案

tar -xvf ~/Downloads/zlib-1.2.9.tar.gz

cd zlib-1.2.9

sudo -s

./configure; make; make install

cd /lib/x86_64-linux-gnu

ln -s -f /usr/local/lib/libz.so.1.2.9/lib libz.so.1

cd ~

rm -rf zlib-1.2.9

realsense安装


对应版本信息:

librealsense now has native CUDA support (v2.13.0)
librealsense v2.13.0 requires CMake 3.8+; Jetson has 3.5.1 so CMake is rebuilt
L4T 28.2 / L4T 28.2.1 (JetPack 3.2.1)
librealsense 2.13.0
https://blog.csdn.net/u013595260/article/details/86522385

downloading from https://github.com/jetsonhacks/buildLibrealsense2TX
cd buildLibrealsense2TX
then run step2 and step3

step1:

cd ~ ,copy folder librealsense,v3.11.4.zip to there (这两个是事先下好的,也可以直接运行step2,同样可以下载这两个,但是会很慢)

step2:

./buildPatchedKernel.sh

step3:

先修改installLibrealsense.sh的第116行左右,在本行后面添加: -DBUILD_PYTHON_BINDINGS=true
运行 ./installLibrealsense.sh   #这里需要realsense相机连接tx2
(后面会出现 [n]的信息,键盘输入 n就可以了)

step4: 添加环境变量

export PYTHONPATH=$PYTHONPATH:/usr/local/lib

 

最终的环境变量为:export PYTHONPATH=~/caffe/python:/usr/local/lib:$PYTHONPATH

验证:

打开终端,输入$ rs-capture

python接口验证:

python3

import pyrealsense2 as rs

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TX2+JetPack3.2.1+opencv3.3.1+caffe+realsense2.0环境配置教程 的相关文章

  • ESP8266EX 串口WIFI无线模块

    介绍 内部跑LWIP协议 xff0c 支持三种模式 xff1a AP STA AP 43 STA共存模式 简洁高效的AT指令 特点 支持无线802 11 b g n标准 支持STA AP STA 43 AP 三种工作模式 内置CTP IP协
  • Cesium球心坐标与本地坐标系经纬转换的数学原理—矩阵变换

    之前整理过 xff1a 透析矩阵 xff0c 由浅入深娓娓道来 高数 线性代数 矩阵 三维旋转笔记 欧拉角 四元数 旋转矩阵 轴角 记忆点整理 xff0c 这次转载 FuckGIS的 Cesium之球心坐标与本地坐标 xff0c 算是线性代
  • 怎么在keil官网上下载芯片固件包(*.pack)

    第一步 xff1a 登录keil官网 www keil com 第二步 xff1a 点击 Product 第三步 xff1a 点击 ARM development tools 第四步 xff1a Public software Packs
  • UCOS开发手册中关于OSQPend()函数讲

    转自 xff1a http www openedv com thread 44168 1 1 html UCOS开发手册中 第十章 UCOSIII消息传递 章节中关于等待消息队列的函数OSQPend 讲解有误 xff0c OSQPend 函
  • ucos-ii学习笔记——信号量集(事件标志组)的原理及使用

    xfeff xfeff ucos ii学习笔记 信号量集 事件标志组 的原理及使用 Created on 2012 10 8 Author zhang bin 学习笔记 for ucos ii PC redesigned by zhang
  • 低速容错CAN:ISO 11898-3 与ISO 11519-2标准两者关系

    xfeff xfeff 有关 低速容错CAN xff1a ISO 11898 3 与ISO 11519 2标准两者关系 最近有几个客户问到这个问题 xff0c 对应的产品是否兼容 于是上ISO官网查看发现并无两者的关系 xff0c 不过在网
  • CAN总线仲裁机制--对于多个节点同时发送相同ID的报文

    最近在学习CAN总线 xff0c 原先一直不太明白 xff0c 若有A xff0c B 2个节点同一时刻一起向总线上发送数据 xff0c CAN总线是怎么仲裁的 xff0c 来让A xff0c B其中一个节点退出 xff0c 保证高优先级的
  • roslaunch mavros px4.launch fcu_url=xxxx到底做了什么

    roslaunch mavros px4 launch fcu url 61 xxxx到底做了什么 一言以蔽之 xff0c roslaunch mavros px4 launch fcu url span class token opera
  • PX4,ROS,gazebo仿真

    https gitee com bingobinlw some tree master Overview Simulation Px4 command Slam map image process planning P200 AmovCar
  • 飞行控制PID算法——无人机飞控

    PID控制应该算是应用非常广泛的控制算法了 小到控制一个元件的温度 xff0c 大到控制无人机的飞行姿态和飞行速度等等 xff0c 都可以使用PID控制 这里我们从原理上来理解PID控制 PID proportion integration
  • Ubuntu20.04桌面版图文安装(超详细)

    Ubuntu20 04桌面版图文安装 xff08 超详细 xff09 一 准备工具 VMWare Workstation15 Pro xff1b ubuntu 20 04 desktop amd64 iso xff1b 二 虚拟机初始配置
  • 嵌入式芯片概念梳理 - CPU、MCU、MP、DSP、FPGA、ASIC

    CPU中央处理单元包含基本的运算单元AUL xff0c 存储单元cache等基本资源 xff0c 实现硬件设备的基本控制功能 中央处理器作为一个普世概念 xff0c 实际根据具体数据处理功能方向不同 xff0c 细分位DSP MCU和MP
  • UART、I2C、USB、SPI、CAN、Jtag、PCI/PCIE协议汇总

    协议通信方式UART串行全双工I2C SPI是串行外设接口 xff08 Serial Peripheral Interface xff09 的缩写 SPI是一种高速的 全双工 同步的通信总线 xff0c 并且在芯片的管脚上只占用四根线 xf
  • busybox概述

    busybox是什么 xff1f xff08 1 xff09 busybox是Linux上的一个应用程序 application xff0c 即只有一个ELF文件头 xff08 2 xff09 它整合了许多Linux上常用的工具和命令 xf
  • SR-IOV

    SSR IOV是Single Root I O Virtualization的缩写 在虚拟机中 xff0c 一切皆虚拟 比如网卡 xff0c 虚拟机看来好像有一个真实网卡 xff0c 但是这个网卡是宿主机虚拟出来的硬件 xff0c 也就是一
  • 希尔排序算法

    本章介绍排序算法中的希尔排序 内容包括 xff1a 1 希尔排序介绍 2 希尔排序图文说明 3 希尔排序的时间复杂度和稳定性 4 希尔排序实现 4 1 希尔排序C实现 4 2 希尔排序C 43 43 实现 4 3 希尔排序Java实现 转载
  • 归并排序算法

    概要 本章介绍排序算法中的归并排序 内容包括 xff1a 1 归并排序介绍 2 归并排序图文说明 3 归并排序的时间复杂度和稳定性 4 归并排序实现 4 1 归并排序C实现 4 2 归并排序C 43 43 实现 4 3 归并排序Java实现
  • 拓扑排序算法

    拓扑排序介绍 拓扑排序 Topological Order 是指 xff0c 将一个有向无环图 Directed Acyclic Graph简称DAG 进行排序进而得到一个有序的线性序列 这样说 xff0c 可能理解起来比较抽象 下面通过简
  • 线性时不变系统输出调节问题

    线性时不变系统输出调节问题 最近在学习 Nonlinear output regulation 中的linear output regulation时 xff0c 对于linear robust output regulation的问题时
  • MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本

    MinGW w64安装教程 著名C C 43 43 编译器GCC的Windows版本 MinGW w64安装教程 著名C C 43 43 编译器GCC的Windows版本 本文主要讲述如何安装 C语言 编译器 MinGW w64 xff0c

随机推荐

  • RT-Thread实时操作系统简介

    目录 一 概述 二 架构 三 版本选择 四 内核启动流程 五 自动初始化机制 六 内核对象模型 七 I O设备模型 1 框架 2 设备驱动使用序列图 3 设备类型 八 FinSH控制台 九 ENV工具 1 menuconfig 2 Scon
  • PCIe RAS

    对于Linux系统针对RAS的AER错误处理机制完成 PCIe RAS简单来讲就是PCIe的错误检测 纠正以及汇报的机制 它可以方便我们准确的定位 xff0c 纠正和分析错误增强系统的健壮性和可靠性 PCIe错误的分类 PCIe错误分为可校
  • Linux下的regulator调试

    先看regulator使用的小demo 如 i2c8 touchscreen 64 28 vddcama supply 61 lt amp xxxxx gt int ret struct regulator power static int
  • 关于添加系统调用遇到 Unable to handle kernel paging request at virtual address 的解决

    Unable to handle kernel paging request at virtual address 是内存访问异常的错误 xff0c 原因通常有三种 xff1a virtual address 为 0x00000000 时
  • vscode安装配置clang-format插件及使用

    vscode安装配置clang format插件及使用 首先安装插件 在vscode扩展里搜索clang format xff0c 安装排名第一的xaver clang format 确认clang format可执行程序路径 window
  • 简历中项目描述怎么写啊

    http wenda tianya cn question 7ade6dc9324bed88
  • 树莓派(Raspberry Pi 3) - 系统烧录及系统使用

    树莓派 xff08 Raspberry pi xff09 是一块集成度极高的ARM开发板 xff0c 不仅包含了HDMI xff0c RCA xff0c CSI xff0c HDMI xff0c GPIO等端口 xff0c 还支持蓝牙以及无
  • flashcache原理

    介绍flashcache的文章很多 xff0c 我就不废话了 使用上 xff0c 有余峰老哥的 文章 xff1b 原理上 xff0c 有ningoo同学的 flashcache系列 但是ningoo同学漏掉了device mapper和fl
  • 无人机算法之PID

    xff08 未完成 xff09 一 PID介绍 xff08 百度百科 xff09 PID 控制器 xff08 比例 积分 微分控制器 xff09 是一个在工业控制应用中常见的反馈回路部件 xff0c 由比例单元 P 积分单元 I 和微分单元
  • java:接口、lambda表达式与内部类

    接口 xff08 interface 接口用来描述类应该做什么 xff0c 而不指定他们具体应该如何做 接口不是类 xff0c 而是对符合这个接口的类的一组需求 接口定义的关键词是interface span class token key
  • 卫星系统算法课程设计 - 第二部分 qt的安装与创建项目

    上一篇文章只讲了基本的东西 xff0c 这一篇要完成qt的安装 xff0c 构建项目 xff0c 并且将上一篇的代码导入进去 某比利比例搜qt安装 xff0c 看到qt5 14 2的下载安装 xff0c 跟着做 1 创建项目 创建新项目 x
  • 无人机-材料准备

    xff08 未完成 xff09 一 使用空心杯电机 xff0c 型号8520 xff0c 1S版本 xff0c 约5G每只 二 空心杯机架 xff0c 型号QX90 xff0c 约8 5g 三 使用55MM桨 四 1S 600MA电池 五
  • CMake中链接库的顺序问题

    原文链接 xff1a https blog csdn net lifemap article details 7586363 cmake中链接库的顺序是a依赖b xff0c 那么b放在a的后面 例如进程test依赖a库 b库 a库又依赖b
  • 鸿蒙wifi Demo运行

    title 鸿蒙Wi Fi Demo运行 date 2021 1 1 22 25 10 categories harmony 本文首发于LHM s notes 欢迎关注我的博客 坑有点多 由于之前没有看过wifi的内核态代码 xff0c 所
  • 将TensorFlow训练好的模型迁移到Android APP上(TensorFlowLite)

    将TensorFlow训练好的模型迁移到Android APP上 xff08 TensorFlowLite xff09 1 写在前面 最近在做一个数字手势识别的APP xff08 关于这个项目 xff0c 我会再写一篇博客仔细介绍 xff0
  • 汉诺塔代码图文详解(递归入门)

    游戏规则 xff1a 已知条件存在A B C三根柱子 xff0c A上套有N片圆盘 如下图 目的将A上的所有圆盘移到C上约束条件每次只能移动一片圆盘 xff0c 且整个过程中只能出现小圆盘在大圆盘之上的情况 首先我们模拟 N 61 2 xf
  • STM32 最小系统电路简析

    文章目录 一 最小系统的组成1 供电电路2 外部晶振3 BOOT选择4 复位电路 二 最小系统实例1 STM32F103C8T6最小系统 三 各部分组成简析1 供电电路设计2 外部晶振原理3 BOOT设计4 复位电路设计 一 最小系统的组成
  • 带参数的宏的问题

    include 34 iostream 34 using namespace std define COMPUTE XX a a a 43 a 2 int main int a 61 2 int test1 61 COMPUTE XX 43
  • python_imbalanced-learn非平衡学习包_02_Over-sampling过采样

    python imbalanced learn非平衡学习包 01 简介 python imbalanced learn非平衡学习包 02 Over sampling过采样 后续章节待定 希望各位认可前面已更 您的认可是我的动力 Over s
  • TX2+JetPack3.2.1+opencv3.3.1+caffe+realsense2.0环境配置教程

    TX2 开箱 一共6样 xff0c 开机之后自带ubuntu16 04LTS的系统 xff0c ARMv8的处理器 xff0c 所以有些指令 xff0c 安装包必须与arm结构保持一致 开机之后 xff0c 按照指示进入图形界面 xff1a