Class FreakVisualPipeline

Inheritance Relationships

Base Type

Class Documentation

class aslam::FreakVisualPipeline : public aslam::VisualPipeline

A visual pipeline to extract Freak features.

Public Functions

ASLAM_POINTER_TYPEDEFS(FreakVisualPipeline)
ASLAM_DISALLOW_EVIL_CONSTRUCTORS(FreakVisualPipeline)
FreakVisualPipeline(const Camera::ConstPtr &camera, bool copy_images, size_t num_octaves, int hessian_threshold, int num_octave_layers, bool rotation_invariant, bool scale_invariant, float pattern_scale)

Initialize the surf/freak pipeline with a camera.

Parameters
  • [in] camera: The intrinsic calibration of this camera.

  • [in] copy_images: Should we deep copy the images passed in?

  • [in] num_octaves: Number of octaves for surf/freak scale computation.

  • [in] hessian_threshold: Threshold for hessian keypoint detector used in SURF.

  • [in] num_octave_layers: Number of octave layers within each octave.

  • [in] rotation_invariant: Should surf/freak compute the keypoint orientation?

  • [in] scale_invariant: Should freak estimate the keypoint scale?

  • [in] pattern_scale: Scale of the pattern for the freak feature descriptor.

FreakVisualPipeline(std::unique_ptr<Undistorter> &preprocessing, bool copy_images, size_t num_octaves, int hessian_threshold, int num_octave_layers, bool rotation_invariant, bool scale_invariant, float pattern_scale)

Initialize the surf/freak pipeline with a preprocessing pipeline.

Parameters
  • [in] preprocessing: An undistorter to do preprocessing such as contrast enhancement or undistortion.

  • [in] copy_images: Should we deep copy the images passed in?

  • [in] num_octaves: Number of octaves for surf/freak scale computation.

  • [in] hessian_threshold: Threshold for hessian keypoint detector used in SURF.

  • [in] num_octave_layers: Number of octave layers within each octave.

  • [in] rotation_invariant: Should surf/freak compute the keypoint orientation?

  • [in] scale_invariant: Should freak estimate the keypoint scale?

  • [in] pattern_scale: Scale of the pattern for the freak feature descriptor.

virtual ~FreakVisualPipeline()
void initializeFreak(size_t num_octaves, int hessian_threshold, int num_octave_layers, bool rotation_invariant, bool scale_invariant, float pattern_scale)

Initialize the freak pipeline.

Parameters
  • [in] num_octaves: Number of octaves for surf/freak scale computation.

  • [in] hessian_threshold: Threshold for hessian keypoint detector used in SURF.

  • [in] num_octave_layers: Number of octave layers within each octave.

  • [in] rotation_invariant: Should surf/freak compute the keypoint orientation?

  • [in] scale_invariant: Should freak estimate the keypoint scale?

  • [in] pattern_scale: Scale of the pattern for the freak feature descriptor.

virtual void processFrameImpl(const cv::Mat &image, VisualFrame *frame) const

Process the frame and fill the results into the frame variable.

The top level function will already fill in the timestamps and the output camera.

Parameters
  • [in] image: The image data.

Protected Functions

FreakVisualPipeline()

Constructor for serialization.