一步一步学OAK之十三:实现RGB相机上的空间对象跟踪

本文档详细介绍了如何通过DepthAI库在RGB相机上进行空间物体跟踪,涉及创建文件、安装依赖、导入包、设置模型路径、创建pipeline、节点创建与属性设置、连接设备和启动管道等步骤。主要利用MobileNetSpatialDetectionNetwork和ObjectTracker节点,实现实时跟踪物体的三维空间坐标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面我们实现了在RGB相机上进行物体的对象跟踪,能够实时跟踪我们想要追踪的物探,但是,如果我们要想知道这个物体的三维空间坐标,该如何实现呢?要想实现这个功能,我们需要用到DepthAI API提供的MobileNetSpatialDetectionNetwork节点和ObjectTracker节点,现在我们来实现它。

这里我们依然用到了mobilenet-ssd_openvino_2021.4_6shave.blob模型文件,将其下载到本地models文件夹

Setup 1: 创建文件

  • 创建新建17-spatial-object-tracker-on-rgb文件夹
  • 用vscode打开该文件夹
  • 新建一个main.py 文件

Setup 2: 安装依赖

安装依赖前需要先创建和激活虚拟环境,我这里已经创建了虚拟环境OAKenv,在终端中输入cd…退回到OAKenv的根目录,输入 OAKenv\Scripts\activate激活虚拟环境

安装pip依赖项:

pip install numpy opencv-python depthai blobconverter --user

Setup 3: 导入需要的包

在main.py中导入项目需要的包

from pathlib import Path
import cv2
import depthai as dai
import numpy as np
import time
import argparse

pathlib用于处理文件路径,sys用于系统相关的操作,cv2是OpenCV库用于图像处理,depthai是depthai库用于深度计算和AI推理。time用于处理时间,argparse用于处理命令行参数。

time库:用于处理和操作时间相关的功能和操作。提供了许多用于测量时间、获取当前时间、等待或延迟执行的函数。可用于计时、性能测试、调度任务等场景。例如,time.time()可以获取当前的时间戳,time.sleep()可以使程序休眠指定时间。

argparse库:用于解析命令行参数以及生成用户友好的命令行界面。

  • 允许定义程序所需的命令行参数,并自动解析和验证这些参数。
  • 可以处理位置参数、可选参数、布尔标志等多种参数类型。
  • 使用argparse可以实现灵活的命令行接口,使得程序可以方便地从命令行中获得输入。
  • 例如,可以使用argparse.ArgumentParser创建一个解析器对象,定义参数后调用parse_args()方法解析命令行参数。

Setup 4:定义和加载模型相关的路径和标签

labelMap = ["background", "aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow","diningtable", "dog", "horse", "motorbike", "person", pottedplant", "sheep", "sofa", "train", "tvmonitor"]

nnPathDefault = str((Path(__file__).parent / Path('../models/mobilenet-ssd_openvino_2021.4_6shave.blob')).resolve().absolute())
parser = argparse.ArgumentParser()
parser.add_argument('nnPath', nargs='?', help="Path to mobilenet detection network blob", default=nnPathDefault)
parser.add_argument('-ff', '--full_frame', action="store_true", help
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九仞山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值