MRPT  1.9.9
mrpt::img::CMappedImage Class Reference

Detailed Description

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

Definition at line 23 of file CMappedImage.h.

#include <mrpt/img/CMappedImage.h>

Public Member 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. More...
 
void changeCoordinates (double x0, double x1, double y0, double y1)
 Changes the coordinates of the image (see constructor for the meaning) More...
 
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. More...
 

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) More...
 
TInterpolationMethod m_method
 

Constructor & Destructor Documentation

◆ CMappedImage()

CMappedImage::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
imgThe image. A copy of the smart pointer is kept internally to this object.
x0Coordinate X of the left side (default: 0)
x1Coordinate X of the right side (or -1 to IMAGE_WIDTH-1)
y0Coordinate Y of the top side (default: 0)
y1Coordinate Y of the bottom side (or -1 to IMAGE_HEIGHT-1)
methodThe interpolation method: It can be imNEAREST, imBILINEAR or imBICUBIC.

Definition at line 22 of file CMappedImage.cpp.

References changeCoordinates(), and m_img.

Member Function Documentation

◆ changeCoordinates()

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

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

Definition at line 46 of file CMappedImage.cpp.

References ASSERT_, m_img, m_pixel_size, m_x0, m_x1, m_y0, m_y1, MRPT_END, and MRPT_START.

Referenced by CMappedImage().

◆ getPixel()

double CMappedImage::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.

Definition at line 73 of file CMappedImage.cpp.

References mrpt::img::IMG_INTERP_AREA, mrpt::img::IMG_INTERP_CUBIC, mrpt::img::IMG_INTERP_LINEAR, mrpt::img::IMG_INTERP_NN, m_img, m_method, m_pixel_size, m_x0, m_y0, mrpt::round(), and THROW_EXCEPTION.

Member Data Documentation

◆ m_img

CImage::Ptr mrpt::img::CMappedImage::m_img
protected

Definition at line 26 of file CMappedImage.h.

Referenced by changeCoordinates(), CMappedImage(), and getPixel().

◆ m_method

TInterpolationMethod mrpt::img::CMappedImage::m_method
protected

Definition at line 30 of file CMappedImage.h.

Referenced by getPixel().

◆ m_pixel_size

double mrpt::img::CMappedImage::m_pixel_size
protected

width * pixel_size = (x1-x0)

Definition at line 29 of file CMappedImage.h.

Referenced by changeCoordinates(), and getPixel().

◆ m_x0

double mrpt::img::CMappedImage::m_x0
protected

Definition at line 27 of file CMappedImage.h.

Referenced by changeCoordinates(), and getPixel().

◆ m_x1

double mrpt::img::CMappedImage::m_x1
protected

Definition at line 27 of file CMappedImage.h.

Referenced by changeCoordinates().

◆ m_y0

double mrpt::img::CMappedImage::m_y0
protected

Definition at line 27 of file CMappedImage.h.

Referenced by changeCoordinates(), and getPixel().

◆ m_y1

double mrpt::img::CMappedImage::m_y1
protected

Definition at line 27 of file CMappedImage.h.

Referenced by changeCoordinates().




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020