CDR-x86-docker镜像使用及测试教程
一、CDR-x86-docker镜像使用及测试教程:
(备注):有效下载链接请联系微信群主(17370042325)获取.
1.根据如下链接下载CDR-v4.0.tar
镜像文件:
- 链接:
http://112.74.111.51:1212/down/KSYLT4SBG2tO
提取码:123456
,如下图:
2.将下载的CDR-v4.0.tar
镜像文件导入docker:
(备注):在镜像导入docker前,需在ubuntu_x86
平台安装docker
和nvidia-docker2
,可参考如下链接:
ubuntu安装docker
ubuntu安装nvidia-docker2
在镜像文件所在目录下,右键打开终端命令行
运行docker镜像加载命令(大致需5分钟左右加载完成):
docker load -i CDR-v4.0.tar
- 加载完成后可通过在终端输入
docker images
查看已加载的镜像,如下图:
- 加载完成后可通过在终端输入
在终端输入以下命令创建CDR-x86容器:
- 命令如下:
sudo docker run -it --net=host --device=/dev/video0 -e QT_X11_NO_MITSHM=1 --gpus ‘"‘device=0’"’ --name=“guo02” --privileged=true -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-6.0 cv-detect-robot:v4.02 /bin/bash
指令解释:
–net=host -----------------------------生成的容器与宿主机使用同一网络
–device=/dev/video0 ---------------video0
表示摄像头ID,指将宿主机摄像头接入容器(需在宿主机上插上USB摄像头)
QT_X11_NO_MITSHM=1 ------------容器图形化界面设置
–gpus ‘"‘device=0’"’ -----------------指定容器所使用的gpu
–name="guo02 " ----------------------自定义容器名称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.02 ----------------cv-detect-robot
为镜像仓库名称,v4.02
为镜像标签(tag)
/bin/bash --------------------------------启动容器后启动bash(docker后台必须运行一个进程,否则容器就会退出)运行以上指令后可从终端进入容器。如下图所示:
3.安装x86版本的vscode(基于CDR的二次开发及子项目测试均可在vscode中进行)
在vscode官方网站下载amd64版本
通过以下命令安装vscode(在安装包所在目录下打开终端):
sudo dpkg -i code_1.62.3-1637137107_amd64.deb
安装完成后,在应用程序中可看到
vscode
图标打开
vscode
,并在扩展栏里面安装docker
和remote-container
插件,安装成功后重启vscode,进入docker图标,可在容器(containers)目录栏查看到步骤2中建立的容器cv-detect-robot:v4.02
,光标移至该处并点击右键进入Attach Visual Studio Code
后(会自动新建一窗口),便可远程连接该容器(container)。
4.在vscode中测试deepstream-test7相关功能
运行如下命令,测试视频文件检测功能:
python3 deepstream-test_7_file.py /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_osd.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
程序
- rostopic 读取方式:
5.在vscode中测试deepstream-yolov5相关功能
运行如下命令,测试视频文件检测功能:
python3 deepstream_yolov5_file.py file:///opt/nvidia/deepstream/deepstream-6.0/samples/streams/sample_qHD.h264
运行如下命令,测试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
程序。
- rostopic 读取方式:
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
程序。
- rostopic 读取方式:
CDR-x86-docker镜像使用及测试教程相关推荐
- CDR-jetson-docker镜像使用及测试教程
一.CDR-jetson-docker镜像使用及测试教程: (备注):有效下载链接请联系微信群主(17370042325)获取. 1.根据如下链接下载CDR-jetson-v4.18.tar镜像文件: ...
- docker web程序本地化_Docker教程
Docker安装 Windows安装Docker(图解教程) Mac OS安装Docker(图解教程) Linux安装Docker(详解版) Windows Server安装Docker Docke ...
- springboot项目打包为docker镜像并上传nexus私服
springboot项目docker打包镜像上传Nexus私服 1.springboot项目打包为docker镜像并上传nexus私服 1.0. 必要条件 1.1.开启docker远程访问 1.2.配 ...
- docker 镜像修改的配置文件自动还原_原创 | 全网最实在的docker入门教程四
作者:潘吉祥 上一篇我们学习了如何使用Dockerfile制作自己的镜像,不过这种方式更像纯粹的运维方式,作为开发者来说,未免有些小繁琐,一个不小心写错些命令就执行失败,我们还不知道错误在哪,这着实有 ...
- docker 打包镜像_Spring Boot2 系列教程(四十一)部署 Spring Boot 到远程 Docker 容器
不知道各位小伙伴在生产环境都是怎么部署 Spring Boot 的,打成 jar 直接一键运行?打成 war 扔到 Tomcat 容器中运行?不过据松哥了解,容器化部署应该是目前的主流方案. 不同于传 ...
- 【超全教程】SpringBoot 2.3.x 分层构建 Docker 镜像实践
作者:超级小豆丁 http://www.mydlq.club/article/98/ 目录 什么是镜像分层 SpringBoot 2.3.x 新增对分层的支持 创建测试的 SpringBoot 应用 ...
- sequoiaDB连接mysql_SequoiaDB 巨杉数据库Docker镜像使用教程
原标题:SequoiaDB 巨杉数据库Docker镜像使用教程 为方便用户快速体验,SequoiaDB 巨杉数据库提供基于 Docker 的镜像.本文介绍如何在 Docker 环境下部署 Sequoi ...
- x86 下制作 ARM Docker 镜像,Docker Hub、Travis 自动构建 qemu-user-static
一般情况下,Docker 的镜像都是在一个已有的镜像内,一步步运行给定的命令,从而生成一个新的镜像.这样的步骤在大多数人使用的 x86 架构计算机上都不是问题,由于架构互相兼容,一台计算机上生成的镜像 ...
- Docker教程(四) Docker镜像构建
Docker教程(四) Docker镜像构建 本文链接:https://blog.csdn.net/yuan_xw/article/details/77744272 Docker教程(四) Docke ...
最新文章
- linux 查看日志信息--less命令
- 怎样把android应用部署到手机上
- 减少生活中的不确定性
- 洛谷 P4245 【模板】MTT
- MongoDB存储基础教程
- js 操作 iframe
- 第五节:一个令人兴奋的ES6新特性:解构赋值
- 小程序 php转excel,做微信小程序上传数据 数据格式?-微信 上传数据 生成excle
- apachecommon连接mysql_使用Apache Commons的DBUtils工具包中的,QueryRunner查询数据库返回结果错误...
- java迭代法求圆周率用梯形_感悟数学“近似计算”之美——“望星楼”里的圆周率...
- Java中如何使用匿名内部类?
- Position属性四个值:static、fixed、absolute和relative的区别和用法
- clickhouse HDFS引擎
- Ableton Live 11 Suite for Mac(专业音乐创作软件)
- 模糊滤镜_如何用 PS,为照片增加模糊与动感效果
- bch纠错码 码长8_浅析BCH码的编码方法.docx
- Java多线程面试攻略(一)
- AltiumDesigner 如何快速查看任意两个元器件或者芯片的布线网络线长!
- Javascript中的原型链,__proto__和prototype等问题总结
- 腾讯云数据库SaaS致力于构建数据库分布式云,为更多更广的用户提供服务