Windows系统下ROS1或ROS2获取RTSP视频等功能包

时间:2022-07-26
本文章向大家介绍Windows系统下ROS1或ROS2获取RTSP视频等功能包,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在ubuntu下获取rtsp,参考3年前博文,适用于N,M,K,I等版本。

在windows使用参考:

  • ros_msft_camera功能包

微软物联网(含ROS)开源代码参考:

原文讲解详细具体,直接参考英文文档即可。

  • ROS1Melodic+ROS2Foxy

ROS2Foxy:

ROS 2 Windows Media Foundation相机驱动程序

该ROS节点使用Windows Media Foundation的帧服务器有效地处理摄像机帧。该节点使用MF SourceReader API从摄像机读取帧。节点从摄像机选择第一个可用的视频流。大多数USB摄像机只有一个视频流。节点使用image_transport相机发布者发布image_raw主题。

系统要求

  • Microsoft Windows 10 64位
  • ROS2安装(推荐Foxy

入门

要运行此驱动程序,将需要安装相机并准备在系统上使用它。

可以从以下启动文件开始。它将打开RViz工具,可以在其中查看相机的图像流。

ros2 launch win_camera win_camera.launch.py

此外,该驱动程序已注册为ROS 2组件,它可以在组件容器内运行。下面是用法的演示。

ros2 launch win_camera win_camera_components.launch.py

发布的主题

  • /image_raw (sensor_msgs/msg/Image) 来自相机的图像流。

参量

  • ~image_width(整数,默认:640) 所需的捕获图像宽度。
  • ~image_height(整数,默认:480) 所需的捕获图像高度。
  • ~frame_rate(浮动,默认:30.0) 所需的捕获帧速率。
  • ~videoDeviceId (字符串,默认值:``) 打开相机的符号链接。如果未设置,则默认为系统上的第一个枚举相机。
  • ~camera_info_url (字符串,默认值:``) 网址至具有相机失真参数的yaml文件。

备注

此源还包含相机组件,以使IMFSample指针可以直接共享到另一个组件容器中,而使用相同的过程可以实现零复制并共享GPU表面。通过使用MFSample Publisher(通过自定义msg发布IMFSample指针)来启用此功能。这条路径是实验性的。