Class CMappedImage

Class Documentation

class CMappedImage

This class encapsulates a MRPT Image and allows the sampling of individual pixels with sub-pixel accuracy and with a change of coordinates (eg, meters). Only work with graylevels (for convenience), so if a color image is passed it’ll be passed first to grayscale.

See also

CImage

Public Functions

CMappedImage(CImage::Ptr img, double x0 = 0, double x1 = -1, double y0 = 0, double y1 = -1, TInterpolationMethod method = IMG_INTERP_LINEAR)

Constructor: Must pass an image (as a smart pointer) and the coordinates of the border

Parameters:
  • img – The image. A copy of the smart pointer is kept internally to this object.

  • x0 – Coordinate X of the left side (default: 0)

  • x1 – Coordinate X of the right side (or -1 to IMAGE_WIDTH-1)

  • y0 – Coordinate Y of the top side (default: 0)

  • y1 – Coordinate Y of the bottom side (or -1 to IMAGE_HEIGHT-1)

  • method – The interpolation method: It can be imNEAREST, imBILINEAR or imBICUBIC.

void changeCoordinates(double x0, double x1, double y0, double y1)

Changes the coordinates of the image (see constructor for the meaning)

double getPixel(double x, double y) const

Returns the interpolated pixel at the coordinates (x,y), in the range [0,255] (grayscale) If the point is out of the image, 0 is returned.

Protected Attributes

CImage::Ptr m_img
double m_x0
double m_x1
double m_y0
double m_y1
double m_pixel_size

width * pixel_size = (x1-x0)

TInterpolationMethod m_method