作为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/
转载文章受原作者版权保护。转载请注明原作者出处!