随手笔记——通过OpenCV获取图像转为ROS图像话题发布(C++版)

这篇具有很好参考价值的文章主要介绍了随手笔记——通过OpenCV获取图像转为ROS图像话题发布(C++版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说明

通过OpenCV获取图像转为ROS图像话题发布

代码

#include <ros/ros.h>
#include <image_transport/image_transport.h>
#include <opencv2/highgui/highgui.hpp>
#include <cv_bridge/cv_bridge.h>

int main(int argc, char** argv)
{
  ros::init(argc, argv, "image_publisher");
  ros::NodeHandle nh;
  image_transport::ImageTransport it(nh);
  image_transport::Publisher pub = it.advertise("camera/image", 1);
  cv::Mat image = cv::imread(argv[1], CV_LOAD_IMAGE_COLOR);
  cv::waitKey(30);
  sensor_msgs::ImagePtr msg = cv_bridge::CvImage(std_msgs::Header(), "bgr8", image).toImageMsg();

  ros::Rate loop_rate(5);
  while (nh.ok()) {
    pub.publish(msg);
    ros::spinOnce();
    loop_rate.sleep();
  }
}

注:sensor_msgs::ImagePtr msg = cv_bridge::CvImage(std_msgs::Header(), “bgr8”, image).toImageMsg(); //核心代码文章来源地址https://www.toymoban.com/news/detail-527931.html

到了这里,关于随手笔记——通过OpenCV获取图像转为ROS图像话题发布(C++版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ROS学习笔记(二):ROS话题的发布与订阅

    第十讲  发布者Publisher的编程 1. 创建功能包 learning_topic  $ cd ~/test1/src  $ catkin_create_pkg learning_topic std_msgs rospy roscpp geometry_msgs turtlesim 2.执行C++文件程序如下:放在创建的功能包的/learning_topic/src里 程序名为velocity_publisher.cpp 2.如何实现一个发布者(发布到ros自带节点 ) (1)初

    2024年02月04日
    浏览(70)
  • ROS 教程之 vision : 用笔记本摄像头获取图像

    如何用笔记本自带的摄像头采集图像 大神白巧克力亦唯心博客: 链接: ROS 教程之 vision : 用各种摄像头获取图像. 报错:未找到解决原因。我猜没有重新编译的问题 w²大大博客: 链接: ROS下usb_cam的安装. 又报错TT: The devel space at ‘/home/wxh/catkin_ws/devel’ was previously built by ‘

    2024年02月05日
    浏览(44)
  • ROS2学习笔记三:话题Topic

    目录 前言 1 话题简介 2 常用指令 3 RCLCPP实现实现话题 3.1 创建工作空间 3.2 代码编写 3.2.1 发布端编写 3.2.2 发布端编写 ROS2中的一个重要概念是话题(Topic)。话题是一种通过发布者和订阅者之间进行异步通信的机制。发布者(Publisher)将消息发布到特定的话题上,而订阅者(

    2024年01月20日
    浏览(32)
  • 随手笔记——OpenCV 的基础使用方法

    演示了如下几个操作:图像读取、显示、像素遍历、复制、赋值等。大部分的注解已写在代码里面。编译该程序时,需要在 CMakeLists.txt 中添加 OpenCV 的头文件,然后把程序链接到库文件上。同时,由于使用了 C++ 11 标准(如 nullptr 和 chrono),还需要设置一下编译器。

    2024年02月16日
    浏览(27)
  • Opencv C++ 三、通过鼠标点击操作获取图像的像素坐标和像素值 四、生成一个简单的灰度图像。

    该操作首先需要创建一个头文件 在该头文件内进行编写: 而后双击打开源文件: 在源文件内编写: 执行该程序: 显示内容为上图,而后在右侧image窗口内任意点击一个位置: 就会显示该位置的坐标信息和像素值。 由于该图像为RBG彩色图像,不是单通道的灰度影像,不能显

    2024年04月28日
    浏览(28)
  • 随手笔记——根据相机位姿实现多个RGBD图像点云的叠加

    程序主要实现:(1). 根据内参计算一对 RGB-D 图像对应的点云;(2). 根据各张图的相机位姿(也就是外参),把点云加起来,组成地图。

    2024年02月16日
    浏览(35)
  • OpenCV自学笔记四:感兴趣区域(ROI)、通道操作、获取图像性质

    感兴趣区域(ROI)是指在图像或画面中,我们所关注或感兴趣的特定区域。对于图像处理任务,使用ROI可以提取、操作或分析该区域的特征。 在OpenCV中,可以使用numpy数组的切片操作来定义和提取ROI。以下是一个简单的例子,展示如何使用ROI来提取图像的一部分: 在上述代码

    2024年02月04日
    浏览(29)
  • OpenCV技术应用(7)— 将图像转为热力图

    前言: Hello大家好,我是小哥谈。 本节课就手把手教大家如何将一幅图像转化成热力图,希望大家学习之后能够有所收获~!🌈           目录 🚀1.技术介绍 🚀2.实现代码 🚀1.技术介绍 伪彩色处理 是一种使用 OpenCV 进行图像处理的方式方法。使用伪彩色处理能够很好地

    2024年01月20日
    浏览(32)
  • OpenCV开发笔记(七十七):相机标定(二):通过棋盘标定计算相机内参矩阵矫正畸变摄像头图像

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/136616551 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、

    2024年03月13日
    浏览(35)
  • opencv-python 将图像迷宫转为迷宫数组

    起因是我想做个自动走迷宫的外挂(其实是想做点实践),所以我需要在游戏中捕捉画面并自动寻路,然后再控制自动移动,此为第一部分:捕捉画面。 1.取得图像迷宫 2.处理图像 3.图像分割 4.生成数组 首先我们得捕捉屏幕画面,即获得迷宫图像,这里我是在steam上面找了一

    2024年02月07日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包