使用ROS调用YOLO_V5(非darknet),利用ros-yolov5配置

作为AI助手,我会尽力回答您的问题。以下是部署

上的步骤: 1. 安装

如果您还没有安装

,请参考

官方网站的安装指南。 2. 安装

安装

的方法有很多种,这里我们介绍

git克隆源码的方式: $ git clone https://</p> <p>.com/AlexeyAB/</p> <p>.git $ cd</p> <p>$ make 3. 下载

模型 我们可以从

的官方网站下载模型,也可以

已经训练好的模型。这里我们

已经训练好的模型,可以从以下链接下载: $ wget https://</p> <p>.com/WongKinYiu/</p> <p>/releases/download/v3.0/</p> <p>s.pt 4. 编写

节点 我们需要编写一个

节点来

进行目标检测。以下是一个简单的示例: import</p> <p>py from sensor_msgs.msg import Image import cv2 from cv_bridge import CvBridge import numpy as np import</p> <p>class</p> <p>Node: def <strong>init</strong>(self):</p> <p>py.init_node('</p> <p>_node') self.bridge = CvBridge() self.net =</p> <p>.load_net(b"</p> <p>s.cfg", b"</p> <p>s.weights", 0) self.meta =</p> <p>.load_meta(b"</p> <p>s.data") self.image_sub =</p> <p>py.Publisher('/camera/image_</p> <p>', Image, queue_size=1) def image_callback(self, msg): cv_image = self.bridge.imgmsg_to_cv2(msg, desired_encoding="passthrough") # convert to</p> <p>image format</p> <p>_image =</p> <p>.make_image(cv_image.shape[1], cv_image.shape[0], 3)</p> <p>.copy_image_from_bytes(</p> <p>_image, cv_image.tobytes()) # detect objects detections =</p> <p>.detect_image(self.net, self.meta,</p> <p>_image) # draw bounding boxes for detection in detections: x, y, w, h = detection[2] cv2.rectangle(cv_image, (int(x - w / 2), int(y - h / 2)), (int(x + w / 2), int(y + h / 2)), (0, 255, 0), 2) cv2.putText(cv_image, detection[0].decode("utf-8"), (int(x), int(y)), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2) # publish image self.image_pub.publish(self.bridge.cv2_to_imgmsg(cv_image, encoding="bgr8")) if <strong>name</strong> == '<strong>main</strong>': node =</p> <p>Node()</p> <p>py.spin() <code> 在这个节点中,我们订阅了一个图像话题</code>/camera/image_raw

CvBridge将

图像消息转换为OpenCV格式。然后,我们将图像转换为

格式,并

进行目标检测。检测结果将在原始图像上绘制边界框,并发布到/camera/image_</p> <p>话题上。 5. 运行

节点 在终端中运行

节点: $</p> <p>run</p> <p>包名称,

节点名称。 6. 查看检测结果 您可以

rqt_image_view工具查看/camera/image_</p> <p>话题上发布的图像。 以上就是在

上部署

的步骤。希望对您有所帮助。

Original: https://blog.csdn.net/weixin_42438635/article/details/124597021
Author: zhhao1326
Title: 使用ROS调用YOLO_V5(非darknet),利用ros-yolov5配置

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/719801/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球