Hello. I'm subscribing to three topics and trying to extract image part of DisparityImageConstPtr message and convert it to IplImage. Here's the callback function I'm using. void callback(const sensor_msgs::CameraInfo::ConstPtr& info, const sensor_msgs::ImageConstPtr& left, const stereo_msgs::DisparityImageConstPtr& disparity_msg) { K_intrinsic[0] = info->K[0]; ROS_INFO("fx [%f]", K_intrinsic[0]); cerr << "f: " << disparity_msg->f << " , T: " << disparity_msg->T << endl; IplImage* im_left = bridge[1].imgMsgToCv(left, "passthrough"); //const sensor_msgs::Image& disp = (disparity_msg->image); //const sensor_msgs::ImageConstPtr& dispPtr = disp; IplImage* dispImg = bridge[2].imgMsgToCv(disparity_msg->image, "passthrough"); cvShowImage("left", im_left); } Subscribing works fine (I can see the rectified image displayed) but I'm having a difficult time extracting the image member of the DisparityImageConstPtr message. I have to following error: /home/lei/ros/stacks/poseEstimation/src/vizDepthMap.cpp:79: error: no matching function for call to ‘sensor_msgs::CvBridge::imgMsgToCv(const sensor_msgs::Image&, const char [12])’ /home/lei/ros/stacks/vision_opencv/cv_bridge/include/cv_bridge/CvBridge.h:424: note: candidates are: IplImage* sensor_msgs::CvBridge::imgMsgToCv(boost::shared_ptr, std::string) It seems like there's an error from cvbridge expecting ImageConstPtr as input but I'm supplying Image type. Is there a way to extract and convert the disparity image from the DisparityImageConstPtr message?