ros下读取kinect彩色图和深度图并显示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zlyaxixuexi/article/details/79014417

在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);   
}

猜你喜欢

转载自blog.csdn.net/zlyaxixuexi/article/details/79014417
今日推荐