鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    不借助image_transport 和cv_brigde ,如何发布和订阅Image类型的话题?

    已定时 已固定 已锁定 已移动 已解决
    ROS 2相关问题
    ros2 nv12 image ros2 nv12
    2
    5
    660
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 李东武李
      李东武
      最后由 编辑

      如题,想发布nv12类型的话题,sensor_msg /Image类型 uint8_t data[] 如何赋值?

      小鱼小 1 条回复 最后回复 回复 引用 0
      • 小鱼小
        小鱼 技术大佬 @李东武
        最后由 编辑

        @李东武 这个有些难,你可以把cv_bridge的代码copy出来,主要是把他的数据格式转换部分拿出来用。

        新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

        李东武李 1 条回复 最后回复 回复 引用 0
        • 李东武李
          李东武 @小鱼
          最后由 编辑

          @小鱼 已经解决 直接memcpy(&msg.data[0],buf_ptr,size) 就行,不过要先给data 这个vector resize一下 因为定义完他的大小是0 需要分配一下内存空间

          小鱼小 1 条回复 最后回复 回复 引用 0
          • 李东武李 李东武 将这个主题标记为已解决,在
          • 小鱼小
            小鱼 技术大佬 @李东武
            最后由 编辑

            @李东武 后面的数据格式问题是直接拷贝造成的吗?

            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

            李东武李 1 条回复 最后回复 回复 引用 0
            • 李东武李
              李东武 @小鱼
              最后由 编辑

              @小鱼 是这样的 我一开始 定义一个sensor_msg:Image msg 然后直接memcpy(&msg.data[0],buf,size)
              报段错误

              后来发现data是vector类型,在定义msg的时候,data大小是0,也就是没有分配内存 所以会报段错误 用resize 方法分配一下内存就好了

              1 条回复 最后回复 回复 引用 0
              • 小鱼小 小鱼 从 中的 动手学ROS2 移动了该主题
              • 第一个帖子
                最后一个帖子
              皖ICP备16016415号-7
              Powered by NodeBB | 鱼香ROS