带有sensor_msgs / Image Publisher的ROS自定义消息

mkuse

我有一个自定义.msg文件MyImage.msg

sensor_msgs/Image im
float32 age
string name

我已经配置了自定义的.msg FLE为纽带所示:CreatingMsgAndSrv

此外,我正在尝试使用此味精编写一个简单的发布者。

#include <ros/ros.h>

#include <custom_msg/MyImage.h>
#include <image_transport/image_transport.h>


#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <cv_bridge/cv_bridge.h>



int main( int argc, char ** argv )
{
    ros::init(argc, argv, "publish_custom");
    ros::NodeHandle nh;

    ros::Publisher pub2 = nh.advertise<custom_msg::MyImage>("custom_image", 2 );

    cv::Mat image = cv::imread( "Lenna.png", CV_LOAD_IMAGE_COLOR );
    sensor_msgs::ImagePtr im_msg = cv_bridge::CvImage(std_msgs::Header(), "bgr8", image).toImageMsg();

    ros::Rate rate( 2 );

    while( ros::ok() )
    {
        ROS_INFO_STREAM_ONCE( "IN main loop");


        custom_msg::MyImage msg2;
        msg2.age=54.3;
        msg2.im = im_msg;
        msg2.name="Gena";

        pub2.publish(msg2);

        rate.sleep();
    }
}

这似乎无法与catkin_make一起编译。错误消息是-

/home/eeuser/ros_workspaces/HeloRosProject/src/custom_msg/publish.cpp: In function ‘int main(int, char**)’:
/home/eeuser/ros_workspaces/HeloRosProject/src/custom_msg/publish.cpp:40:19: error: no match for ‘operator=’ in ‘msg2.custom_msg::MyImage_<std::allocator<void> >::im = im_msg’
/home/eeuser/ros_workspaces/HeloRosProject/src/custom_msg/publish.cpp:40:19: note: candidate is:
/opt/ros/hydro/include/sensor_msgs/Image.h:56:8: note: sensor_msgs::Image_<std::allocator<void> >& sensor_msgs::Image_<std::allocator<void> >::operator=(const sensor_msgs::Image_<std::allocator<void> >&)
/opt/ros/hydro/include/sensor_msgs/Image.h:56:8: note:   no known conversion for argument 1 from ‘sensor_msgs::ImagePtr {aka boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > >}’ to ‘const sensor_msgs::Image_<std::allocator<void> >&’
make[2]: *** [custom_msg/CMakeFiles/publish.dir/publish.cpp.o] Error 1
make[1]: *** [custom_msg/CMakeFiles/publish.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed

我可以理解这msg2.im = im_msg;是不正确的。请帮我解决这个问题。

亚历克斯

您正在尝试将sensor_msgs::ImagePtr指针分配给sensor_msgs::Image字段。简直你做不到。只需查看错误日志的第五行:

no known conversion for argument 1 from ‘sensor_msgs::ImagePtr {aka boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > >}’ to ‘const sensor_msgs::Image_<std::allocator<void> >&’

要解决此简单问题,只需在该指针上添加解引用运算符(*):

msg2.im = *im_msg;

我假设代码中没有其他错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有sensor_msgs / Image Publisher的ROS自定义消息

来自分类Dev

ROS带有sensor_msgs的自定义消息/订阅服务器的图像问题

来自分类Dev

带有自定义 StrokeCap Image Flutter 的 CircleProgress

来自分类Dev

带有自定义消息的吐司

来自分类Dev

带有自定义消息的Node-Redis psubscribe

来自分类Dev

如何正确创建带有消息的自定义异常?

来自分类Dev

带有自定义消息的Node-Redis psubscribe

来自分类Dev

roslibjs - 订阅带有自定义消息的主题

来自分类Dev

有关自定义操作Installshield失败的自定义消息

来自分类Dev

有关自定义操作Installshield失败的自定义消息

来自分类Dev

Gradle:有关任务失败的自定义消息?

来自分类Dev

如何将自定义验证消息传递给laravel中的cviebrock / image-validator?

来自分类Dev

带有自定义消息且没有属性名称的验证

来自分类Dev

带有自定义标题和消息等的Facebook分享按钮

来自分类Dev

自定义错误消息无法在带有grails的gorm中使用

来自分类Dev

使用.htaccess禁用带有自定义消息的目录列表

来自分类Dev

返回带有自定义错误消息的HTTP结果代码404

来自分类Dev

如何使用pjsua2 android发送带有自定义标头的SIP消息

来自分类Dev

带有HTML标签的Yii2 Active Form自定义消息

来自分类Dev

在Spring MVC项目中使用带有自定义消息转换器的springdoc

来自分类Dev

带有Authoirzation插件的Cakephp 4:授权失败时的自定义错误消息

来自分类Dev

jQuery验证,带有包含确认的自定义错误消息

来自分类Dev

带有自定义标题和消息等的Facebook分享按钮

来自分类Dev

使用.htaccess禁用带有自定义消息的目录列表

来自分类Dev

jQuery验证自定义方法规则和带有动态名称的消息?

来自分类Dev

自定义FEST断言:显示带有以下内容的可读消息

来自分类Dev

HTML表单-PHP电子邮件,带有自定义消息和复选框

来自分类Dev

带有HTML标签的Yii2 Active Form自定义消息

来自分类Dev

ws:outbound-gateway自定义拦截器,带有消息头

Related 相关文章

  1. 1

    带有sensor_msgs / Image Publisher的ROS自定义消息

  2. 2

    ROS带有sensor_msgs的自定义消息/订阅服务器的图像问题

  3. 3

    带有自定义 StrokeCap Image Flutter 的 CircleProgress

  4. 4

    带有自定义消息的吐司

  5. 5

    带有自定义消息的Node-Redis psubscribe

  6. 6

    如何正确创建带有消息的自定义异常?

  7. 7

    带有自定义消息的Node-Redis psubscribe

  8. 8

    roslibjs - 订阅带有自定义消息的主题

  9. 9

    有关自定义操作Installshield失败的自定义消息

  10. 10

    有关自定义操作Installshield失败的自定义消息

  11. 11

    Gradle:有关任务失败的自定义消息?

  12. 12

    如何将自定义验证消息传递给laravel中的cviebrock / image-validator?

  13. 13

    带有自定义消息且没有属性名称的验证

  14. 14

    带有自定义标题和消息等的Facebook分享按钮

  15. 15

    自定义错误消息无法在带有grails的gorm中使用

  16. 16

    使用.htaccess禁用带有自定义消息的目录列表

  17. 17

    返回带有自定义错误消息的HTTP结果代码404

  18. 18

    如何使用pjsua2 android发送带有自定义标头的SIP消息

  19. 19

    带有HTML标签的Yii2 Active Form自定义消息

  20. 20

    在Spring MVC项目中使用带有自定义消息转换器的springdoc

  21. 21

    带有Authoirzation插件的Cakephp 4:授权失败时的自定义错误消息

  22. 22

    jQuery验证,带有包含确认的自定义错误消息

  23. 23

    带有自定义标题和消息等的Facebook分享按钮

  24. 24

    使用.htaccess禁用带有自定义消息的目录列表

  25. 25

    jQuery验证自定义方法规则和带有动态名称的消息?

  26. 26

    自定义FEST断言:显示带有以下内容的可读消息

  27. 27

    HTML表单-PHP电子邮件,带有自定义消息和复选框

  28. 28

    带有HTML标签的Yii2 Active Form自定义消息

  29. 29

    ws:outbound-gateway自定义拦截器,带有消息头

热门标签

归档