VScode+YOLOv8+深度相机D435i实现物体追踪

一、相关环境搭建

Anacode+YOLO识别图片-CSDN博客

二、物体追踪实现

通过导入相关的检测模型后,就可以实现物体追踪与识别。

python 复制代码
import cv2
import numpy as np
import pyrealsense2 as rs
from ultralytics import YOLO  # 将YOLOv8导入到该py文件中

# 加载官方或自定义模型
model = YOLO(r"E:\Deep learning\YOLOv8\yolov8n.pt")  # 加载一个官方的检测模型
model = YOLO(r"E:\Deep learning\YOLOv8\yolov8s.pt")  # 加载一个官方的检测模型
# model = YOLO(r"E:\Deep learning\YOLOv8\yolov8n-seg.pt")  # 加载一个官方的分割模型
# model = YOLO(r"E:\Deep learning\YOLOv8\yolov8n-pose.pt")  # 加载一个官方的姿态模型


# 深度相机配置
pipeline = rs.pipeline()  # 定义流程pipeline,创建一个管道
config = rs.config()  # 定义配置config
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)  # 初始化摄像头深度流
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
pipe_profile = pipeline.start(config)  # 启用管段流
align = rs.align(rs.stream.color)  # 这个函数用于将深度图像与彩色图像对齐

def get_aligned_images():  # 定义一个获取图像帧的函数,返回深度和彩色数组
    frames = pipeline.wait_for_frames()  # 等待获取图像帧
    depth_frame = frames.get_depth_frame()  # 获取深度帧
    color_frame = frames.get_color_frame()  # 获取对齐帧中的的color帧
    depth_image = np.asanyarray(depth_frame.get_data())  # 将深度帧转换为NumPy数组
    color_image = np.asanyarray(color_frame.get_data())  # 将彩色帧转化为numpy数组
    return depth_image, color_image

if __name__ == '__main__':
    try:
        while True:
            img_depth, img_color = get_aligned_images()  # 获取深度帧和彩色帧
            # cv2.applyColorMap()将深度图像转化为彩色图像,以便更好的可视化分析
            depth_colormap = cv2.applyColorMap(
                cv2.convertScaleAbs(img_depth, alpha=0.07), cv2.COLORMAP_JET)
            source = [img_color]
            # 轨迹追踪,persist=true表示数据储存
            results = model.track(source, persist=True)
            img_color = results[0].plot()  # 在图像上添加色彩帧(追踪结果)
            # 将图像color_impage和depth_colormap水平堆叠
            # images = np.hstack((img_color, depth_colormap))
            # 设置窗口,窗口大小根据图像自动调整
            cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)
            # 将图像images显示在窗口中,这个显示的是带有追踪结果的图像
            cv2.imshow('RealSense', img_color)
            key = cv2.waitKey(1)  # 等待用户输入
            # Press esc or 'q' to close the image window
            if key & 0xFF == ord('q') or key == 27:
                cv2.destroyAllWindows()
                pipeline.stop()
                break
    finally:
        # Stop streaming
        pipeline.stop()

相关识别效果如下视频:

这里当人或者物体移动的时候,相应的识别框和标识也会跟着动。此外,如果采用了-Pose还可以识别人的姿态。

D435i相机+VScode+YOLOv8视频识别追踪

相关推荐
王哈哈^_^3 小时前
【数据集】【YOLO】【目标检测】共享单车数据集,共享单车识别数据集 3596 张,YOLO自行车识别算法实战训推教程。
人工智能·算法·yolo·目标检测·计算机视觉·视觉检测·毕业设计
std78794 小时前
MATLAB 实用案例三:图像边缘检测、数据拟合与可视化、信号处理
图像处理·opencv·计算机视觉
躺平的赶海人6 小时前
Halcon实战:精准定位与提取:基于形态学处理的猴子眼睛区域检测完整方案
图像处理·计算机视觉·halcon·形态学操作
_168168ww7 小时前
计算机大类常见单词
计算机视觉
CoovallyAIHub7 小时前
OCR战场再起风云:LightOnOCR-1B凭什么比DeepSeekOCR快1.7倍?(附演示开源地址)
深度学习·算法·计算机视觉
zhangrelay8 小时前
如何使用AI快速编程实现标注ROS2中sensor_msgs/msg/Image图像色彩webots2025a
人工智能·笔记·opencv·学习·计算机视觉·机器人视觉
搞科研的小刘选手11 小时前
【多所高校合作】第四届图像处理、计算机视觉与机器学习国际学术会议(ICICML 2025)
图像处理·人工智能·机器学习·计算机视觉·数据挖掘·人脸识别·人机交互
Coovally AI模型快速验证11 小时前
未来已来:从 CVPR & ICCV 观察 2025→2026 年计算机视觉的七大走向
人工智能·深度学习·目标检测·计算机视觉·stable diffusion
B站_计算机毕业设计之家11 小时前
计算机视觉:python车辆行人检测与跟踪系统 YOLO模型 SORT算法 PyQt5界面 目标检测+目标跟踪 深度学习 计算机✅
人工智能·python·深度学习·算法·yolo·目标检测·机器学习
fl17683114 小时前
基于yolov8+vue3实现目标检测后台管理系统
人工智能·yolo·目标检测