Visual Servoing Platform  version 3.6.1 under development (2024-11-15)
vpLuminanceMapping Class Referenceabstract

#include <visp3/visual_features/vpFeatureLuminanceMapping.h>

+ Inheritance diagram for vpLuminanceMapping:

Public Member Functions

 vpLuminanceMapping (unsigned int mappingSize)
 
virtual ~vpLuminanceMapping ()
 
virtual void map (const vpImage< unsigned char > &I, vpColVector &s)=0
 
virtual void interaction (const vpImage< unsigned char > &I, const vpMatrix &LI, const vpColVector &s, vpMatrix &L)=0
 
virtual void inverse (const vpColVector &s, vpImage< unsigned char > &I)=0
 
unsigned int getProjectionSize () const
 
unsigned int getBorder () const
 
void setBorder (unsigned border)
 

Static Public Member Functions

static void imageAsVector (const vpImage< unsigned char > &I, vpColVector &Ivec, unsigned border)
 
static void imageAsMatrix (const vpImage< unsigned char > &I, vpMatrix &Imat, unsigned border)
 

Protected Attributes

unsigned m_mappingSize
 
unsigned m_border
 

Detailed Description

Base class for functions that map an image and its interaction matrix to a different domain.

Definition at line 57 of file vpFeatureLuminanceMapping.h.

Constructor & Destructor Documentation

◆ vpLuminanceMapping()

vpLuminanceMapping::vpLuminanceMapping ( unsigned int  mappingSize)
inline

Construct a new vp Luminance Mapping object.

Parameters
mappingSizeThe size of the space that this transformation maps to.

Definition at line 65 of file vpFeatureLuminanceMapping.h.

◆ ~vpLuminanceMapping()

virtual vpLuminanceMapping::~vpLuminanceMapping ( )
inlinevirtual

Destructor.

Definition at line 70 of file vpFeatureLuminanceMapping.h.

Member Function Documentation

◆ getBorder()

unsigned int vpLuminanceMapping::getBorder ( ) const
inline

Returns the number of pixels that are removed by the photometric VS computation.

Returns
space size
Examples
catchLuminanceMapping.cpp.

Definition at line 114 of file vpFeatureLuminanceMapping.h.

◆ getProjectionSize()

unsigned int vpLuminanceMapping::getProjectionSize ( ) const
inline

Returns the size of the space to which an image is mapped to.

Returns
space size
Examples
catchLuminanceMapping.cpp.

Definition at line 107 of file vpFeatureLuminanceMapping.h.

◆ imageAsMatrix()

void vpLuminanceMapping::imageAsMatrix ( const vpImage< unsigned char > &  I,
vpMatrix Imat,
unsigned  border 
)
static

◆ imageAsVector()

BEGIN_VISP_NAMESPACE void vpLuminanceMapping::imageAsVector ( const vpImage< unsigned char > &  I,
vpColVector Ivec,
unsigned  border 
)
static

◆ interaction()

virtual void vpLuminanceMapping::interaction ( const vpImage< unsigned char > &  I,
const vpMatrix LI,
const vpColVector s,
vpMatrix L 
)
pure virtual

Compute the interaction matrix associated with the representation s.

Parameters
Iinput image used to compute s
LIPhotometric interaction matrix associated to I (see vpFeatureLuminance)
sthe already computed representation
LThe output interaction matrix, of dimensions getProjectionSize() x 6

Implemented in vpLuminanceDCT, and vpLuminancePCA.

◆ inverse()

virtual void vpLuminanceMapping::inverse ( const vpColVector s,
vpImage< unsigned char > &  I 
)
pure virtual

Reconstruct I from a representation s.

Parameters
sthe representation
IOutput lossy reconstruction

Implemented in vpLuminanceDCT, and vpLuminancePCA.

◆ map()

virtual void vpLuminanceMapping::map ( const vpImage< unsigned char > &  I,
vpColVector s 
)
pure virtual

Map an image I to a representation s. This representation s has getProjectionSize() rows.

Note that when combined with vpFeatureLuminanceMapping, The image I does not have the same size as the image input of vpFeatureLuminanceMapping::build. I is the center crop of this image.

Parameters
IThe input image
sThe resulting representation that will serve as visual servoing features.

Implemented in vpLuminanceDCT, and vpLuminancePCA.

◆ setBorder()

void vpLuminanceMapping::setBorder ( unsigned  border)
inline

Set the number of pixels that are removed by the photometric VS computation This function should be called by vpFeatureLuminanceMapping.

Parameters
border
Examples
catchLuminanceMapping.cpp.

Definition at line 122 of file vpFeatureLuminanceMapping.h.

Member Data Documentation

◆ m_border

unsigned vpLuminanceMapping::m_border
protected

◆ m_mappingSize

unsigned vpLuminanceMapping::m_mappingSize
protected