CDR-jetson-docker镜像使用及测试教程

11 篇文章 0 订阅
9 篇文章 0 订阅

一、CDR-jetson-docker镜像使用及测试教程:

(备注):有效下载链接请联系微信群主(17370042325)获取.

1.根据如下链接下载CDR-jetson-v4.18.tar镜像文件:

  • 链接:http://112.74.111.51:1212/down/KSYLT4SBG2tO 提取码:123456,如下图:
    在这里插入图片描述

2.将下载的CDR-jetson-v4.18.tar镜像文件导入docker:

  • 在镜像文件所在目录下,右键打开终端命令行

  • 运行docker镜像加载命令(大致需5分钟左右加载完成):

    docker load -i CDR-jetson-v4.18.tar

    • 加载完成后可通过在终端输入docker images查看已加载的镜像,如下图:
      在这里插入图片描述
  • 在终端输入以下命令创建CDR-jetson容器:

    • 命令如下:

    sudo docker run -it --net=host --device=/dev/video0 -e QT_X11_NO_MITSHM=1 --gpus ‘"‘device=0’"’ --name=“guo18” --privileged=true -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-6.0 cv-detect-robot:v4.18 /bin/bash

    • 指令解释:

      –net=host -----------------------------生成的容器与宿主机使用同一网络

      –device=/dev/video0 ---------------video0表示摄像头ID,指将宿主机摄像头接入容器(需在宿主机上插上USB摄像头)

      QT_X11_NO_MITSHM=1 ------------容器图形化界面设置

      –gpus ‘"‘device=0’"’ -----------------指定容器所使用的gpu

      –name=“guo18” ----------------------自定义容器名称guo18

      –privileged=true ----------------------使容器内的root拥有真正的root权限

      -v /tmp/.X11-unix:/tmp/.X11-unix --------------- 容器图形化界面设置

      -e DISPLAY=$DISPLAY ---------------容器图形化界面设置

      -w /opt/nvidia/deepstream/deepstream-6.0 ---------- 刚进入容器时所在的目录

      cv-detect-robot:v4.18 ----------------cv-detect-robot为镜像仓库名称,v4.18为镜像标签(tag)

      /bin/bash --------------------------------启动容器后启动bash(docker后台必须运行一个进程,否则容器就会退出)

    • 运行以上指令后可从终端进入容器,如下图所示:
      终端

3.安装arm64版本的vscode(基于CDR的二次开发及子项目测试均可在vscode中进行)

  • 在vscode官方网站下载arm64版本

  • 通过以下命令安装vscode(在安装包所在目录下打开终端):

    sudo dpkg -i code_1.63.2-1639561157_arm64.deb

    安装完成后,在应用程序中可看到vscode图标

  • 打开vscode,并在扩展栏里面安装dockerremote-container插件,安装成功后重启vscode,进入docker图标,可在容器(containers)目录栏查看到步骤2中建立的容器cv-detect-robot:v4.18,光标移至该处并点击右键进入Attach Visual Studio Code后(会自动新建一窗口),便可远程连接该容器(container)。

4.在vscode中测试deepstream-test7相关功能

  • 运行如下命令,测试视频文件检测功能:

    python3 deepstream-test_7_file.py file:///opt/nvidia/deepstream/deepstream-6.0/samples/streams/sample_qHD.mp4

  • 运行如下命令,测试usb摄像头实时检测功能:

    python3 deepstream-test_7_cam.py /dev/video0

  • 运行如下命令,测试rtsp流实时检测功能:

    python3 deepstream-test_7_rtsp.py rtsp://admin:ak123456@192.168.0.123:554/ch1/main/av_stream

  • 以上三种检测模式都配置了跟踪器(默认为deepsort跟踪器),检测框右上角显示跟踪ID号, 可通过共享内存(internal_memory.txt)方式获得跟踪ID及跟踪目标的像素坐标.读取共享内存内部动态数据方式有三种:rostopic形式读取、python 接口读取,c++接口读取,下面对三种读取方式进行介绍。

    • rostopic 读取方式:
      在三种检测模式其中一种运行的情况下,检测数据会动态写入internal_memory.txt所指向的内存中,首先新建一终端运行roscore,再新建终端运行client_ros.py(完成内存数据读取和数据topic发布功能),最后新建一终端运rostopic echo /BoundingBoxes_tensor实时查看话题(topic)内容。
    • python接口读取:
      在三种检测模式其中一种运行的情况下,检测数据会动态写入internal_memory.txt所指向的内存中,通过python直接循环读取内存动态数据的方式获取实时检测数据,运行client.py即可实现。
    • c++接口读取方式:
      在三种检测模式其中一种运行的情况下,检测数据会动态写入internal_memory.txt所指向的内存中,通过cpp程序直接循环读取内存动态数据的方式获取实时检测数据,编译运行cpp_io文件夹下的test_7.cpp程序

5.在vscode中测试deepstream-yolov5相关功能

  • 运行如下命令,测试视频文件检测功能:

    python3 deepstream_yolov5_file.py file:///opt/nvidia/deepstream/deepstream-6.0/samples/streams/sample_qHD.h

  • 运行如下命令,测试usb摄像头实时检测功能:

    python3 deepstream_yolov5_cam.py /dev/video0

  • 运行如下命令,测试rtsp流实时检测功能:

    python3 deepstream_yolov5_rtsp.py rtsp://admin:ak123456@192.168.0.123:554/ch1/main/av_stream

  • 以上三种检测模式都配置了跟踪器(默认为deepsort跟踪器),检测框右上角显示跟踪ID号, 可通过共享内存(internal_memory.txt)方式获得跟踪ID及跟踪目标的像素坐标.读取共享内存内部动态数据方式有三种:rostopic形式读取、python 接口读取,c++接口读取,下面对三种读取方式进行介绍。

    • rostopic 读取方式:
      在三种检测模式其中一种运行的情况下,检测数据会动态写入internal_memory.txt所指向的内存中,首先新建一终端运行roscore,再新建终端运行client_ros.py(完成内存数据读取和数据topic发布功能),最后新建一终端运rostopic echo /BoundingBoxes_tensor实时查看话题(topic)内容。
    • python接口读取:
      在三种检测模式其中一种运行的情况下,检测数据会动态写入internal_memory.txt所指向的内存中,通过python直接循环读取内存动态数据的方式获取实时检测数据,运行client.py即可实现。
    • c++接口读取方式:
      在三种检测模式其中一种运行的情况下,检测数据会动态写入internal_memory.txt所指向的内存中,通过cpp程序直接循环读取内存动态数据的方式获取实时检测数据,编译运行cpp_io文件夹下的testv5.cpp程序。

6.在vscode中测试deepstream-yolox需相关功能

  • 运行如下命令,测试视频文件检测功能:

    python3 deepstream_yolox_file.py file:///opt/nvidia/deepstream/deepstream-6.0/samples/streams/sample_qHD.h264

  • 运行如下命令,测试usb摄像头实时检测功能:

    python3 deepstream_yolox_cam.py /dev/video0

  • 运行如下命令,测试rtsp流实时检测功能:

    python3 deepstream_yolox_rtsp.py rtsp://admin:ak123456@192.168.0.123:554/ch1/main/av_stream

  • 以上三种检测模式都配置了跟踪器(默认为deepsort跟踪器),检测框右上角显示跟踪ID号, 可通过共享内存(internal_memory.txt)方式获得跟踪ID及跟踪目标的像素坐标.读取共享内存内部动态数据方式有三种:rostopic形式读取、python 接口读取,c++接口读取,下面对三种读取方式进行介绍。

    • rostopic 读取方式:
      在三种检测模式其中一种运行的情况下,检测数据会动态写入internal_memory.txt所指向的内存中,首先新建一终端运行roscore,再新建终端运行client_ros.py(完成内存数据读取和数据topic发布功能),最后新建一终端运rostopic echo /BoundingBoxes_tensor实时查看话题(topic)内容。
    • python接口读取:
      在三种检测模式其中一种运行的情况下,检测数据会动态写入internal_memory.txt所指向的内存中,通过python直接循环读取内存动态数据的方式获取实时检测数据,运行client.py即可实现。
    • c++接口读取方式:
      在三种检测模式其中一种运行的情况下,检测数据会动态写入internal_memory.txt所指向的内存中,通过cpp程序直接循环读取内存动态数据的方式获取实时检测数据,编译运行cpp_io文件夹下的yolox.cpp程序。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值