sensor_msgs::CameraInfoPtr AstraDriver::getIRCameraInfo(int width, int height, ros::Time time) const { sensor_msgs::CameraInfoPtr info; if (ir_info_manager_->isCalibrated()) { info = boost::make_shared<sensor_msgs::CameraInfo>(ir_info_manager_->getCameraInfo()); if ( info->width != width ) { // Use uncalibrated values ROS_WARN_ONCE("Image resolution doesn't match calibration of the IR camera. Using default parameters."); info = getDefaultCameraInfo(width, height, device_->getIRFocalLength(height)); } } else { // If uncalibrated, fill in default values info = getDefaultCameraInfo(width, height, device_->getDepthFocalLength(height)); } // Fill in header info->header.stamp = time; info->header.frame_id = depth_frame_id_; return info; }
sensor_msgs::CameraInfoPtr DriverNodelet::getIrCameraInfo( const ImageBuffer& image, ros::Time time) const { sensor_msgs::CameraInfoPtr info; if (ir_info_manager_->isCalibrated()) { info = boost::make_shared<sensor_msgs::CameraInfo>(ir_info_manager_->getCameraInfo()); } else { // If uncalibrated, fill in default values info = getDefaultCameraInfo(image.metadata.width, image.metadata.height, image.focal_length); } // Fill in header info->header.stamp = time; info->header.frame_id = depth_frame_id_; return info; }