diff --git a/launch/mcptam.launch b/launch/mcptam.launch index ef678fd..969bc4e 100644 --- a/launch/mcptam.launch +++ b/launch/mcptam.launch @@ -21,10 +21,8 @@ --> - diff --git a/src/VideoSourceSingle.cc b/src/VideoSourceSingle.cc index 7410fd8..b9a27b3 100644 --- a/src/VideoSourceSingle.cc +++ b/src/VideoSourceSingle.cc @@ -72,6 +72,19 @@ VideoSourceSingle::VideoSourceSingle(bool bGetPoseSeparately) ROS_INFO("VideoSourceSingle: Set up all subscriptions"); + // Acquire an image and get image size from it + mbAcquiredImage = false; + while(!mbAcquiredImage && ros::ok()) + { + // Trigger ROS callbacks + mCallbackQueue.callAvailable(); + } + + ROS_INFO("VideoSourceSingle: Got first image, extracting size"); + mirSize = CVD::ImageRef(mCVPtr->image.cols,mCVPtr->image.rows); + mirFullScaleSize = CVD::ImageRef(mirSize.x * mirBinning.x, mirSize.y * mirBinning.y); + + // Acquire the calibration info mbAcquiredInfo = false; while(!mbAcquiredInfo && ros::ok()) { @@ -83,6 +96,7 @@ VideoSourceSingle::VideoSourceSingle(bool bGetPoseSeparately) mInfoSub.shutdown(); ROS_INFO("VideoSourceSingle: Got calibration info"); + // Acquire pose info if(mbGetPoseSeparately) { mbAcquiredPose = false; @@ -95,19 +109,6 @@ VideoSourceSingle::VideoSourceSingle(bool bGetPoseSeparately) mPoseSub.shutdown(); ROS_INFO("VideoSourceSingle: Got pose"); } - - mbAcquiredImage = false; - while(!mbAcquiredImage && ros::ok()) - { - // Trigger ROS callbacks - mCallbackQueue.callAvailable(); - } - - ROS_INFO("VideoSourceSingle: Got first image, extracting size"); - - mirSize = CVD::ImageRef(mCVPtr->image.cols,mCVPtr->image.rows); - mirFullScaleSize = CVD::ImageRef(mirSize.x * mirBinning.x, mirSize.y * mirBinning.y); - } VideoSourceSingle::~VideoSourceSingle()