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
  • camera[in] The intrinsic calibration of this camera.

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

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

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

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

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

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

  • pattern_scale[in] 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
  • preprocessing[in] An undistorter to do preprocessing such as contrast enhancement or undistortion.

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

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

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

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

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

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

  • pattern_scale[in] 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
  • num_octaves[in] Number of octaves for surf/freak scale computation.

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

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

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

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

  • pattern_scale[in] 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

image[in] The image data.

Param

Protected Functions

FreakVisualPipeline()

Constructor for serialization.