在windows使用参考:

  • ros_msft_camera功能包

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

  • https://github.com/ms-iot

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

  • ROS1Melodic+ROS2Foxy

ROS2Foxy:

  • https://github.com/ms-iot/ros_msft_camera/tree/foxy-devel
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指针)来启用此功能。这条路径是实验性的。