Example #1
0
AffineTransform MotionEstimation::getMotionEstimation(RGBDFrame& frame)
{
  ///@todo this should return a covariance
  
  // motion prediction 
  /// @todo motion prediction disabled for now
  AffineTransform prediction;
  prediction.setIdentity();

  AffineTransform motion;
  bool result;

  if (frame.n_valid_keypoints == 0)
  {
    std::cerr << "No features detected." << std::endl;
    result = false;
  }
  else
  {
    result = getMotionEstimationImpl(frame, prediction, motion);
  }

  if (!result)
  {
    std::cerr << "Could not estimate motion from RGBD data, using Identity transform." 
              << std::endl;
    motion.setIdentity();
  }

  return motion;
}