当前位置: 首页 > news >正文

做seo网站优化哪家强梧州论坛 掌上红豆

做seo网站优化哪家强,梧州论坛 掌上红豆,长沙做网络推广哪家好,黄楼企业建站流程话题 节点之间的通信。 叫话题很形象。发布者发布一定数据类型的话题#xff0c;订阅者订阅发布者。 订阅者发布者不唯一。 异步通信#xff0c;适用于周期发布的数据而不是逻辑性强的数据。 .msg 格式的消息结构#xff0c;一种通信接口。 每个话题 topic 有话题名订阅者订阅发布者。 订阅者发布者不唯一。 异步通信适用于周期发布的数据而不是逻辑性强的数据。 .msg 格式的消息结构一种通信接口。 每个话题 topic 有话题名数据类型和数据三个属性。 Hello world pub 按一定周期发布 helloworld 信息sub 接收。 pub #!/usr/bin/env python3 # -*- coding: utf-8 -*- 作者: 古月居(www.guyuehome.com) 说明: ROS2话题示例-发布“Hello World”话题 import rclpy # ROS2 Python接口库 from rclpy.node import Node # ROS2 节点类 from std_msgs.msg import String # 字符串消息类型 创建一个发布者节点class PublisherNode(Node):def __init__(self, name):super().__init__(name) # ROS2节点父类初始化self.pub self.create_publisher(String, chatter, 10) # 创建发布者对象消息类型、话题名、队列长度self.timer self.create_timer(0.5, self.timer_callback) # 创建一个定时器单位为秒的周期定时执行的回调函数def timer_callback(self): # 创建定时器周期执行的回调函数msg String() # 创建一个String类型的消息对象msg.data Hello World # 填充消息对象中的消息数据self.pub.publish(msg) # 发布话题消息self.get_logger().info(Publishing: %s % msg.data) # 输出日志信息提示已经完成话题发布def main(argsNone): # ROS2节点主入口main函数rclpy.init(argsargs) # ROS2 Python接口初始化node PublisherNode(topic_helloworld_pub) # 创建ROS2节点对象并进行初始化rclpy.spin(node) # 循环等待ROS2退出node.destroy_node() # 销毁节点对象rclpy.shutdown() # 关闭ROS2 Python接口 sub #!/usr/bin/env python3 # -*- coding: utf-8 -*- 作者: 古月居(www.guyuehome.com) 说明: ROS2话题示例-订阅“Hello World”话题消息 import rclpy # ROS2 Python接口库 from rclpy.node import Node # ROS2 节点类 from std_msgs.msg import String # ROS2标准定义的String消息 创建一个订阅者节点class SubscriberNode(Node):def __init__(self, name):super().__init__(name) # ROS2节点父类初始化self.sub self.create_subscription(\String, chatter, self.listener_callback, 10) # 创建订阅者对象消息类型、话题名、订阅者回调函数、队列长度def listener_callback(self, msg): # 创建回调函数执行收到话题消息后对数据的处理self.get_logger().info(I heard: %s % msg.data) # 输出日志信息提示订阅收到的话题消息def main(argsNone): # ROS2节点主入口main函数rclpy.init(argsargs) # ROS2 Python接口初始化node SubscriberNode(topic_helloworld_sub) # 创建ROS2节点对象并进行初始化rclpy.spin(node) # 循环等待ROS2退出node.destroy_node() # 销毁节点对象rclpy.shutdown() # 关闭ROS2 Python接口 物品识别 之前 webcam 最好是分开写为两个节点之间的通信一个是摄像头一个是呈现的视频。 主要是拿到识别的图像数据之后不是第一时间就调用 opencv 算法处理而是发给 subsub 进行处理。 这个发送的过程中的消息数据类型应当是 imgmsg 类型所以需要一个 opencv - imgmsg 类型的转换方法。 #!/usr/bin/env python3 # -*- coding: utf-8 -*- 作者: 古月居(www.guyuehome.com) 说明: ROS2话题示例-发布图像话题 import rclpy # ROS2 Python接口库 from rclpy.node import Node # ROS2 节点类 from sensor_msgs.msg import Image # 图像消息类型 from cv_bridge import CvBridge # ROS与OpenCV图像转换类 import cv2 # Opencv图像处理库 创建一个发布者节点class ImagePublisher(Node):def __init__(self, name):super().__init__(name) # ROS2节点父类初始化self.publisher_ self.create_publisher(Image, image_raw, 10) # 创建发布者对象消息类型、话题名、队列长度self.timer self.create_timer(0.1, self.timer_callback) # 创建一个定时器单位为秒的周期定时执行的回调函数self.cap cv2.VideoCapture(0) # 创建一个视频采集对象驱动相机采集图像相机设备号self.cv_bridge CvBridge() # 创建一个图像转换对象用于稍后将OpenCV的图像转换成ROS的图像消息def timer_callback(self):ret, frame self.cap.read() # 一帧一帧读取图像if ret True: # 如果图像读取成功self.publisher_.publish(self.cv_bridge.cv2_to_imgmsg(frame, bgr8)) # 发布图像消息self.get_logger().info(Publishing video frame) # 输出日志信息提示已经完成图像话题发布def main(argsNone): # ROS2节点主入口main函数rclpy.init(argsargs) # ROS2 Python接口初始化node ImagePublisher(topic_webcam_pub) # 创建ROS2节点对象并进行初始化rclpy.spin(node) # 循环等待ROS2退出node.destroy_node() # 销毁节点对象rclpy.shutdown() # 关闭ROS2 Python接口 sub 代码 class ImageSubscriber(Node):def __init__(self, name):super().__init__(name) # ROS2节点父类初始化self.sub self.create_subscription(Image, image_raw, self.listener_callback, 10) # 创建订阅者对象消息类型、话题名、订阅者回调函数、队列长度self.cv_bridge CvBridge() # 创建一个图像转换对象用于OpenCV图像与ROS的图像消息的互相转换def object_detect(self, image):hsv_img cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # 图像从BGR颜色模型转换为HSV模型mask_red cv2.inRange(hsv_img, lower_red, upper_red) # 图像二值化contours, hierarchy cv2.findContours(mask_red, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE) # 图像中轮廓检测for cnt in contours: # 去除一些轮廓面积太小的噪声if cnt.shape[0] 150:continue(x, y, w, h) cv2.boundingRect(cnt) # 得到苹果所在轮廓的左上角xy像素坐标及轮廓范围的宽和高cv2.drawContours(image, [cnt], -1, (0, 255, 0), 2) # 将苹果的轮廓勾勒出来cv2.circle(image, (int(xw/2), int(yh/2)), 5,(0, 255, 0), -1) # 将苹果的图像中心点画出来cv2.imshow(object, image) # 使用OpenCV显示处理后的图像效果cv2.waitKey(10)def listener_callback(self, data):self.get_logger().info(Receiving video frame) # 输出日志信息提示已进入回调函数image self.cv_bridge.imgmsg_to_cv2(data, bgr8) # 将ROS的图像消息转化成OpenCV图像self.object_detect(image) # 苹果检测流程是 opencv 图像数据转换成 ros2 可以传输的图像数据传输给 subsub 再转回来再调用 opencv 库。 其实常用 usb 相机驱动基本都是一致的所以 pub 节点我们不需要自己手动写。可以用下面的命令替代 pub有一行 ERR 不影响。 $ sudo apt install ros-humble-usb-cam $ ros2 run usb_cam usb_cam_node_exe ros2 topic bw 可以看带宽数据量。 可以通过 /rqt_graph 查看节点关系图。
http://www.pierceye.com/news/272029/

相关文章:

  • 营销型网站案例展示如何做网赌网站
  • 商融交通建设工程有限公司网站wordpress的伪静太文件
  • 网站rar文件做sorry动图的网站
  • 有合作社做网站得不备案期间关网站吗
  • 南京城乡住房建设厅网站wordpress文章模板下载
  • 有一个做搞笑英语视频网站外贸建站优化
  • 苏州公司建设网站深圳品牌蛋糕店有哪些品牌排行
  • 手机网站建设视频教程、网站建设项目功能需求分析报告
  • 纸 技术支持 东莞网站建设wordpress 手机 自建站
  • 网站后台 搜索广告发布合同模板
  • 手机网站设计教程网站建设 职位
  • 外贸网站图片素材谷歌seo和百度seo区别
  • 龙华网站 建设深圳信科潍坊网站建设培训
  • 域名网站平台qq在线登录
  • 成都做网站建设公司网站建设公司销售技巧
  • 打开网站是iis7三亚最新发布
  • php外贸网站中山网站建设方案报价
  • 好网站建设公司开发方案广告传媒公司加盟
  • 郑州膏药网站建设石家庄seo管理
  • 做国外产品描述的网站营销wordpress
  • 服务器2003怎么做网站枣庄网站建设电话
  • 南京网站建设一条龙汶上网站制作
  • 黑龙江微信网站开发郑州热门网络推广免费咨询
  • 深圳坪山站永久免费linux服务器
  • 东莞网站建议ipv6在家做网站
  • 政务网站源码1688电脑网页版
  • 大连企业网站网站rar文件
  • 揭阳东莞网站建设手机网站分享代码
  • 网站设计风格分析wordpress 用户介绍
  • 中国教育网站官网wordpress 自定义循环