3.搭建Astra Pro Plus深度相机环境、部署yolov5【解决篇】

本文详细描述了如何在Ubuntu环境下搭建Astra相机系统,包括依赖包安装、工作空间设置、UDEV规则创建,以及在遇到错误时如何解决。同时介绍了如何安装和配置PyTorch和yolov5在树莓派上,涉及到了版本兼容性问题的处理。

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

一、Astra相机环境搭建

参考文章1
参考文章2
读前须知:
①参考的时候直接复制了命令去操作,工作空间名设置的是AstraS_ws,但其实我的相机并不是Astra_S而是Astra Pro Plus。
②我按照这些流程操作下来,在启动相机时warning检测不到color传感器,也没有camera/color/image_raw的话题,无法对彩色图像进行标定。

1.安装依赖

sudo apt install ros-$ROS_DISTRO-rgbd-launch ros-$ROS_DISTRO-libuvc ros-$ROS_DISTRO-libuvc-camera ros-$ROS_DISTRO-libuvc-ros
sudo apt install libgflags-dev  ros-
### 将YOLOv模型与深度相机集成 #### 选择合适的硬件和软件配置 对于将YOLOv模型与深度相机集成的任务,推荐使用英特尔D4系列深度相机,特别是D455型号[^2]。该款相机不仅具备高质量的深度感知功能,还能够在低光环境下提供准确的数据,并且易于集成到各类应用中。 为了确保系统的兼容性和高效运行,在选择计算平台时可以考虑采用树莓派Raspberry Pi作为处理单元[^1]。这种组合既经济实惠又灵活多变,适合用于开发原型或小型项目。 #### 安装必要的库文件和支持包 在开始之前,需安装OpenCV、PyTorch以及其他依赖项来支持YOLO算法框架: ```bash pip install opencv-python-headless torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu ``` 接着下载并解压所需的YOLO权重文件以及配置文档;如果选用的是YOLOv5,则可以从官方GitHub仓库获取最新版本[^3]。 #### 编写Python脚本读取摄像头输入并与YOLO配合工作 下面是一个简单的例子展示如何利用上述提到的技术栈创建一个基本的目标检测应用程序: ```python import cv2 from ultralytics import YOLO # 加载预训练好的YOLO模型 (这里假设使用YOLOv5) model = YOLO('yolov5s.pt') def process_frame(frame): results = model.predict([frame], conf=0.7, iou=0.5)[0].boxes.data.tolist() for result in results: x_min, y_min, x_max, y_max, score, class_id = map(int, result[:6]) label = f'{class_names[class_id]} {score:.2f}' color = colors[int(class_id)] frame = cv2.rectangle(frame, (x_min, y_min), (x_max, y_max), color=color, thickness=2) frame = cv2.putText( img=frame, text=label, org=(x_min, max(y_min - 10, 0)), fontFace=cv2.FONT_HERSHEY_SIMPLEX, fontScale=0.9e-3 * min(frame.shape), color=color, thickness=2) return frame if __name__ == '__main__': pipeline = rs.pipeline() # 初始化RealSense管道 config = rs.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) profile = pipeline.start(config) try: while True: frames = pipeline.wait_for_frames() depth_frame = frames.get_depth_frame() color_frame = frames.get_color_frame() if not depth_frame or not color_frame: continue depth_image = np.asanyarray(depth_frame.get_data()) color_image = np.asanyarray(color_frame.get_data()) processed_image = process_frame(color_image.copy()) images = np.hstack((color_image, processed_image)) cv2.imshow('Depth and Color', images) key = cv2.waitKey(1) & 0xFF if key == ord('q'): break finally: pipeline.stop() cv2.destroyAllWindows() ``` 此代码片段展示了怎样从Intel RealSense D455捕获视频流,并对其进行实时分析以识别特定对象类别。注意这段程序仅作为一个起点——实际部署可能还需要进一步调整参数设置、优化性能等方面的工作。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值