Class MappedUndistorter

Inheritance Relationships

Base Type

Class Documentation

class aslam::MappedUndistorter : public aslam::Undistorter

A class that encapsulates image undistortion for building frames from images.

This class utilizes the OpenCV remap() function: http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html?highlight=remap#remap

Public Functions

ASLAM_POINTER_TYPEDEFS(MappedUndistorter)
ASLAM_DISALLOW_EVIL_CONSTRUCTORS(MappedUndistorter)
MappedUndistorter(aslam::Camera::Ptr input_camera, aslam::Camera::Ptr output_camera, const cv::Mat &map_u, const cv::Mat &map_v, InterpolationMethod interpolation)

Create a mapped undistorter using externally provided maps.

Map matrices (map_u and map_v) must be the size of the output camera geometry. This will be checked by the constructor.

Parameters
  • [in] input_camera: The camera intrinsics for the original image.

  • [in] output_camera: The camera intrinsics after undistortion.

  • [in] map_u: The map from input to output u coordinates.

  • [in] map_v: The map from input to output v coordinates.

  • [in] interpolation: Interpolation method used for undistortion. (InterpolationMethod)

virtual ~MappedUndistorter() = default
virtual void processImage(const cv::Mat &input_image, cv::Mat *output_image) const

Produce an undistorted image from an input image.

inline const cv::Mat &getUndistortMapU() const

Get the undistorter map for the u-coordinate.

inline const cv::Mat &getUndistortMapV() const

Get the undistorter map for the u-coordinate.

Protected Functions

MappedUndistorter()