通过imagetransport传输信息,而不是通常的topic传递方法。

image_transport应该始终用于订阅和发布图像。它为以低带宽压缩格式传输图像提供了支持。

#include <ros/ros.h>
#include <image_transport/image_transport.h>
#include <opencv2/highgui/highgui.hpp>
#include <cv_bridge/cv_bridge.h>
Mat colorImg;
void imageCallback(const sensor_msgs::ImageConstPtr& msg)
{try{cv_bridge::CvImagePtr cv_ptr;cv_ptr = cv_bridge::toCvCopy(msg, sensor_msgs::image_encodings::BGR8);colorImg = cv_ptr->image;imshow("view",colorImg);cv::waitKey(1);}catch (cv_bridge::Exception& e){ROS_ERROR("Could not convert from '%s' to 'bgr8'.", msg->encoding.c_str());}
}int main(int argc, char **argv)
{ros::init(argc, argv, "image_reciver");ros::NodeHandle nh;cv::namedWindow("view",CV_WINDOW_NORMAL);cv::startWindowThread();image_transport::ImageTransport it(nh);//使用ImageTransport方法创建图像发布者和订阅者,就像我们使用NodeHandle方法创建一般ROS发布者和订阅者一样image_transport::Subscriber sub = it.subscribe("/kinect2/hd/image_color", 1, imageCallback);ros::spin();cv::destroyWindow("view");
}

参考:http://wiki.ros.org/image_transport

ros接收图像并通过opencv显示,以kinect为例相关推荐

  1. 2.ROS机器视觉——ROS图像(imgmsg)与opencv(cv2)对接

    参考:古月学院和ROS机器人开发实践 目标:实现ROS系统读取摄像头的图像,ROS读取的图像数据转化为opencv中的图像,opencv对接受的图像进行处理,最后返回给ROS系统可视化输出. 安装op ...

  2. OpenCV 图像加载和显示

    OpenCV 图像加载和显示 OpenCV 图像加载和显示 加载图像(使用cv :: imread) 创建一个名为OpenCV的窗口(使用cv :: namedWindow) 在OpenCV窗口中显示 ...

  3. 《OpenCV 4开发详解》图像的读取与显示

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  4. OpenCV之Python学习笔记(1)(2): 图像的载入、显示和保存 图像元素的访问、通道分离与合并

    OpenCV之Python学习笔记 一直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看到一本国外的新书< ...

  5. Kinect+OpenNI学习笔记之4(OpenNI获取的图像结合OpenCV显示)

    前言 本文来结合下opencv的highgui功能显示kinect采集得来的颜色图和深度图.本来在opencv中自带了VideoCapture类的,使用该类可以直接驱动kinect设备,具体的可以参考 ...

  6. python储存与读取图片_Python下opencv使用笔记(一)(图像简单读取、显示与储存)...

    写在之前 从去年開始关注python这个软件,途中间间断断看与学过一些关于python的东西.感觉python确实是一个简单优美.easy上手的脚本编程语言,众多的第三方库使得python异常的强大. ...

  7. OpenCV(三) 图像的读取和显示

    OpenCV中的C++类和函数都是定义在命名空间cv之内的,有两种方法可以访问. 第一种是,在代码开头的适当位置,加上 usingnamespace cv; 这句. 另外一种是在使用OpenCV类和函 ...

  8. 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析

    [-] 一开胃菜之一  关于OpenCV的命名空间 二开胃菜之二  关于Mat类型 三图像的载入和显示 imread函数 namedWindow函数 imshow函数 四输出图像到文件imwrite函 ...

  9. C++ openCV 图像的读取、显示、保存、加权融合、改变对比度、修改色域

    文章目录 图像的读取.显示.保存 图像的读取 图像的显示 图像的保存 图像的属性修改 图像的色域修改 图像的对比度.数据类型修改 两张图像的加权融合 图像的读取.显示.保存 使用的命名空间 #prag ...

最新文章

  1. 挑战唯物论?诺奖得主彭罗斯:意识产生可能是大脑内的「量子叠加」的结果...
  2. 【小白学习PyTorch教程】八、使用图像数据增强手段,提升CIFAR-10 数据集精确度
  3. mysql打包成docker_web应用如何打包成docker镜像?
  4. 使用生成器创建新的迭代模式
  5. JAVA 作业:图形界面
  6. 仙逆网页服务器失败,全民仙逆闪退进不去了怎么办 闪退解决办法汇总
  7. Matlab图像标题_title
  8. Vue:vue中axios发起http请求报错net::ERR_CERT_DATE_INVALID
  9. spring源码:扫描bean的原理
  10. html工资计算页面模板,工资计算.html
  11. 信息化分析:集团企业信息化规划和实施研究
  12. element上传附件(el-upload 超详细)
  13. Containerd 错误报错解决Failed to start containerd container runtime.
  14. C#VS工程报错:CS0234 命名空间“Microsoft.VisualStudio”中不存在类型或命名空间名“VCProjectEngine(是否缺少程序集引用)
  15. Copy On Write机制了解一下
  16. virtualbox中linux设置NAT和Host-Only上网(实现双机互通同时可上外网)
  17. 美苏太空竞赛历年卫星火箭发射以及历史事件介绍
  18. LSI SAS9311-8i阵列卡更新固件、刷新IT模式过程详解
  19. 部署github上的代码到本地pycharm
  20. asp.net:如何取消设置的起始页

热门文章

  1. 基于有效样本的类别不平衡损失CB-Loss
  2. Metasploit基本用法
  3. 安装Mathtype7.4之后显示,在Word文档中粘贴东西时显示:运行时错误‘53’,文件未找到:MathPage.WLL
  4. 一个好玩的东西,纯JS代码实现增强现实(AR.js)
  5. 深度残差网络解读(MSRA 152层网络)
  6. 程序员私活收入:随随便便月入1万多,有的走向人生巅峰
  7. 2020 ICASSP之人脸识别:Facial Feature Embedded CycleGAN for VIS-NIR Translation
  8. INFA Transformation组件
  9. 青灯教育python视频教程_网络时代的利与弊分别是什么
  10. 根据域名查找IP地址