ros下读取kinect彩色图和深度图并显示
2018-01-09 16:30
1671 查看
在ros的学习与开发中,常常会涉及到图像处理相关的知识,ros下可以使用kinect来获取RGB图像和DEPTH图像。使用方法如下(c++):
static const string RGB_WIN = "RGB Image Window"; //定义一个RGB窗口 static const string DEPTH_WIN = "DEPTH Image Window" //定义一个Depeth窗口 cv::Mat rgbimage; cv::Mat depthimage; class ImageConverter{ ros::NodeHandle nh_; image_transport::ImageTransprot it_; image_transport::Subscriber image_sub_; image_transport::Subscriber depth_sub_; public: IamgeCorverter():it_(nh_){ image_sub_ = it_.subscribe("/camera/rgb/image_color", 1 ,&ImageConverter::imageCb,this); depth_sub_ = it_.subscribe("/camera/depth_registered/image_raw", 1 , &ImageConverter::depthCb,this); //初始化显示窗口 cv::nameWindow(RGB_WIN); cv::nameWindow(DEPTH_WIN); //指定窗口显示的位置 cv::moveWindow(RGB_WIN,20,20); cv::moveWindow(DEPTH_WIN,700,20); } //rgb图显示的回调函数 void imageCb(const sensor_msgs::ImageConstPrt& msg){ cv_bridge::CvImagePtr cv_ptr; try{ cv_ptr = cv_bridge::yoCvCopy(msg,sensor_msgs::image_encodings::RGB8); } catch(cv_bridge::Exception& e){ ROS_ERROR("cv_bridge 异 常: %s", e.what()); return; } cv_ptr->image.copyTo(rgbimage); //显示 cv::imshow(RGB_WIN,rgbimage); } //depth图显示的回调函数 void depthCb(const sensor_msgs::ImageConstPrt& msg){ cv_bridge::CvImagePtr cv_ptr; try{ cv_ptr = cv_bridge::yoCvCopy(msg,sensor_msgs::image_encodings::TYPE_32FC1); } catch(cv_bridge::Exception& e){ ROS_ERROR("cv_bridge 异 常: %s", e.what()); return; } cv_ptr->image.copyTo(depthimage); //显示 cv::imshow(DEPTH_WIN,depthimage); }
相关文章推荐
- Kinect开发教程二:OpenNI读取深度图像与彩色图像并显示
- Kinect开发教程二:OpenNI读取深度图像与彩色图像并显示
- Heresy透過 OpneNI 讀取 Kinect 深度影像資料(Kinect开发教程二:OpenNI读取深度图像与彩色图像并显示)
- Kinect开发教程二:OpenNI读取深度图像与彩色图像并显示
- Kinect SDK(1):读取彩色、深度、骨骼信息并用OpenCV显示
- Kinect SDK(1):读取彩色、深度、骨骼信息并用OpenCV显示
- Kinect开发:OpenNI读取深度图像与彩色图像并显示
- ros显示kinect v1彩色图和深度图问题
- Heresy透過 OpneNI 合併 Kinect 深度以及彩色影像資料(Kinect开发教程二:OpenNI读取深度图像与彩色图像并显示)
- Kinect SDK(1):读取彩色、深度、骨骼信息并用OpenCV显示
- ROS使用openni获取Kinect彩色图像和深度图像
- OpenCV--鼠标响应Kinect彩色图像显示深度信息
- kinect 开发入门——读取深度信息和显示深度信息图像
- kinect,openni,opencv 获取并显示深度与彩色图像
- 如何使用Kinect显示彩色图像和深度图像。
- ROS下订阅topic,显示并保存Kinect(Xtion pro live )深度摄像机的RGB图像
- Kinect基础之在WinForm(C#)中显示彩色数据和深度数据
- Kinect SDK1.0 OpenCV显示彩色、深度、骨骼图
- Kinect开发教程八:OpenNI2显示深度、彩色及融合图像
- 使用OpenNI2读取oni格式的文件,并将其中的彩色视频,深度视频显示并保存