我是靠谱客的博主 善良人生,这篇文章主要介绍ROS下订阅topic,显示并保存Kinect(Xtion pro live )深度摄像机的RGB图像,现在分享给大家,希望可以做个参考。

这里订阅了的是Kinect for Xbox One或是华硕的Xtion Pro Live的topic:/camera/rgb/image_raw

1、编写源程序

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <ros/ros.h> #include <image_transport/image_transport.h> #include <opencv2/highgui/highgui.hpp> #include <cv_bridge/cv_bridge.h> #include <iostream> using std::cout; using std::endl; using std::stringstream; using std::string; unsigned int fileNum = 1; bool saveCloud(false); void imageCallback(const sensor_msgs::ImageConstPtr& msg) { cv::imshow("Show RgbImage", cv_bridge::toCvShare(msg,"rgb8")->image); char key; key=cvWaitKey(33); if(key==32) //the Ascii of "Space key" is 32 saveCloud = true; if(saveCloud) { stringstream stream; stringstream stream1; stream <<"Goal RgbImage" << fileNum<<".jpg"; stream1 <<"/home/lijunliang/qt_catkin_ws/src/GetRgbImage/" << fileNum <<".jpg"; string filename = stream.str(); string filename1 = stream1.str(); cv::imwrite(filename1,cv_bridge::toCvShare(msg)->image); saveCloud = false; fileNum++; cout << filename << " had Saved."<< endl; } } int main(int argc, char **argv) { ros::init(argc, argv, "Image_listener"); ros::NodeHandle nh; cv::namedWindow("Show RgbImage"); cv::startWindowThread(); image_transport::ImageTransport it(nh); image_transport::Subscriber sub = it.subscribe("/camera/rgb/image_raw", 1, imageCallback); ros::spin(); cv::destroyWindow("Show RgbImage"); }
注意:程序中使用cvwaitkey()函数 响应 键盘空格的事件,从而达到按下键盘空格键就自动保存图片到自己的package目录下!

复制代码
1
2
3
stream1 <<"/home/lijunliang/qt_catkin_ws/src/GetRgbImage/" << fileNum <<".jpg";
以上这行代码注意路径务必改成自己package 的路径!

2、在ubuntu终端启动Xtion pro live 驱动


3、用qt编译并运行节点


4、运行节点后结果显示

注意:按空格键会将当前的RGB图保存下来,保存到你所建立的package文件夹下。名字为1.jpg,2.jpg,...依次类推。

至此,ROS下订阅topic并保存Xtion pro live (kinect)深度摄像机的RGB图实现结束!

最后

以上就是善良人生最近收集整理的关于ROS下订阅topic,显示并保存Kinect(Xtion pro live )深度摄像机的RGB图像的全部内容,更多相关ROS下订阅topic,显示并保存Kinect(Xtion内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部