ros接收图像并通过opencv显示,以kinect为例
通过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为例相关推荐
- 2.ROS机器视觉——ROS图像(imgmsg)与opencv(cv2)对接
参考:古月学院和ROS机器人开发实践 目标:实现ROS系统读取摄像头的图像,ROS读取的图像数据转化为opencv中的图像,opencv对接受的图像进行处理,最后返回给ROS系统可视化输出. 安装op ...
- OpenCV 图像加载和显示
OpenCV 图像加载和显示 OpenCV 图像加载和显示 加载图像(使用cv :: imread) 创建一个名为OpenCV的窗口(使用cv :: namedWindow) 在OpenCV窗口中显示 ...
- 《OpenCV 4开发详解》图像的读取与显示
本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...
- OpenCV之Python学习笔记(1)(2): 图像的载入、显示和保存 图像元素的访问、通道分离与合并
OpenCV之Python学习笔记 一直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看到一本国外的新书< ...
- Kinect+OpenNI学习笔记之4(OpenNI获取的图像结合OpenCV显示)
前言 本文来结合下opencv的highgui功能显示kinect采集得来的颜色图和深度图.本来在opencv中自带了VideoCapture类的,使用该类可以直接驱动kinect设备,具体的可以参考 ...
- python储存与读取图片_Python下opencv使用笔记(一)(图像简单读取、显示与储存)...
写在之前 从去年開始关注python这个软件,途中间间断断看与学过一些关于python的东西.感觉python确实是一个简单优美.easy上手的脚本编程语言,众多的第三方库使得python异常的强大. ...
- OpenCV(三) 图像的读取和显示
OpenCV中的C++类和函数都是定义在命名空间cv之内的,有两种方法可以访问. 第一种是,在代码开头的适当位置,加上 usingnamespace cv; 这句. 另外一种是在使用OpenCV类和函 ...
- 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析
[-] 一开胃菜之一 关于OpenCV的命名空间 二开胃菜之二 关于Mat类型 三图像的载入和显示 imread函数 namedWindow函数 imshow函数 四输出图像到文件imwrite函 ...
- C++ openCV 图像的读取、显示、保存、加权融合、改变对比度、修改色域
文章目录 图像的读取.显示.保存 图像的读取 图像的显示 图像的保存 图像的属性修改 图像的色域修改 图像的对比度.数据类型修改 两张图像的加权融合 图像的读取.显示.保存 使用的命名空间 #prag ...
最新文章
- 挑战唯物论?诺奖得主彭罗斯:意识产生可能是大脑内的「量子叠加」的结果...
- 【小白学习PyTorch教程】八、使用图像数据增强手段,提升CIFAR-10 数据集精确度
- mysql打包成docker_web应用如何打包成docker镜像?
- 使用生成器创建新的迭代模式
- JAVA 作业:图形界面
- 仙逆网页服务器失败,全民仙逆闪退进不去了怎么办 闪退解决办法汇总
- Matlab图像标题_title
- Vue:vue中axios发起http请求报错net::ERR_CERT_DATE_INVALID
- spring源码:扫描bean的原理
- html工资计算页面模板,工资计算.html
- 信息化分析:集团企业信息化规划和实施研究
- element上传附件(el-upload 超详细)
- Containerd 错误报错解决Failed to start containerd container runtime.
- C#VS工程报错:CS0234 命名空间“Microsoft.VisualStudio”中不存在类型或命名空间名“VCProjectEngine(是否缺少程序集引用)
- Copy On Write机制了解一下
- virtualbox中linux设置NAT和Host-Only上网(实现双机互通同时可上外网)
- 美苏太空竞赛历年卫星火箭发射以及历史事件介绍
- LSI SAS9311-8i阵列卡更新固件、刷新IT模式过程详解
- 部署github上的代码到本地pycharm
- asp.net:如何取消设置的起始页
热门文章
- 基于有效样本的类别不平衡损失CB-Loss
- Metasploit基本用法
- 安装Mathtype7.4之后显示,在Word文档中粘贴东西时显示:运行时错误‘53’,文件未找到:MathPage.WLL
- 一个好玩的东西,纯JS代码实现增强现实(AR.js)
- 深度残差网络解读(MSRA 152层网络)
- 程序员私活收入:随随便便月入1万多,有的走向人生巅峰
- 2020 ICASSP之人脸识别:Facial Feature Embedded CycleGAN for VIS-NIR Translation
- INFA Transformation组件
- 青灯教育python视频教程_网络时代的利与弊分别是什么
- 根据域名查找IP地址