Public Member Functions | Private Member Functions | Private Attributes | List of all members
CSegmentableRecognition Class Reference

#include <SegmentableRecognition.h>

Public Member Functions

bool AddClass (const std::string &classPath)
 
 CSegmentableRecognition ()
 
void DoRecognition (const CByteImage *const *ppInputImages, CByteImage **ppResultImages, int nMinPixelsPerRegion, bool bBlobsOnly=false, float fMaxEpipolarDistance=10, ObjectColor color=eNone, bool bTrack=false, bool bInputImagesAreUndistorted=false)
 
void DoRecognitionSingleObject (const CByteImage *const *ppInputImages, CByteImage **ppResultImages, const char *pObjectName, int nMinPixelsPerRegion, float fMaxEpipolarDistance=10, ObjectColor color=eNone, bool bTrack=false, bool bInputImagesAreUndistorted=false)
 
const CColorParameterSetGetColorParameterSet ()
 
const Object3DListGetObject3DList ()
 
CSegmentableDatabaseGetObjectDatabase ()
 
const CStereoCalibrationGetStereoCalibration ()
 
bool Init (const char *pColorParameterFile, const char *pCameraParameterFileDeprecated, const char *pCameraParameterFile, const char *pObjectDatabaseConfigurationFile, const char *pDataPathPrefix=0)
 
bool Init (CColorParameterSet *pColorParameterSet, CStereoCalibration *pStereoCalibration, const char *pObjectDatabaseConfigurationFile)
 
bool InitWithoutDatabase (CColorParameterSet *pColorParameterSet, CStereoCalibration *pStereoCalibration)
 
void SetRecognitionThresholds (float fSizeRatioThreshold, float fCorrelationThreshold)
 
void SetStereoCalibration (CStereoCalibration *pStereoCalibration)
 
void SetVerbose (bool bVerbose)
 
 ~CSegmentableRecognition ()
 

Private Member Functions

void _DoRecognition (const CByteImage *const *ppInputImages, CByteImage **ppResultImages, const char *pObjectName=0, int nMinPixelsPerRegion=500, bool bBlobsOnly=false, float fMaxEpipolarDistance=10, ObjectColor color=eNone, bool bTrack=false, bool bInputImagesAreUndistorted=false)
 
void FindAndClassifyBlobs (CObjectFinderStereo *pObjectFinderStereo, const CByteImage *const *ppInputImages, CByteImage **pResultImages, CByteImage *pGrayImage, const char *pObjectName, ObjectColor color, int nMinPixelsPerRegion, bool bBlobsOnly, float fMaxEpipolarDistance, bool bInputImagesAreUndistorted)
 
void PostProcessResultList ()
 
bool RecognizeAndLocalizeObject (CByteImage *pGrayImage, Object3DEntry &entry, const char *pObjectName)
 

Private Attributes

bool m_bVerbose
 
Object3DList m_object3DList
 
CColorParameterSetm_pColorParameterSet
 
CRegionFilterInterfacem_pCompactRegionFilter
 
CByteImagem_pGrayImageBig
 
CByteImagem_pGrayImageSmall
 
CObjectFinderStereom_pObjectFinderStereo
 
CSegmentableDatabasem_pSegmentableDatabase
 

Detailed Description

Definition at line 43 of file SegmentableRecognition.h.

Constructor & Destructor Documentation

CSegmentableRecognition::CSegmentableRecognition ( )
CSegmentableRecognition::~CSegmentableRecognition ( )

Member Function Documentation

void CSegmentableRecognition::_DoRecognition ( const CByteImage *const *  ppInputImages,
CByteImage **  ppResultImages,
const char *  pObjectName = 0,
int  nMinPixelsPerRegion = 500,
bool  bBlobsOnly = false,
float  fMaxEpipolarDistance = 10,
ObjectColor  color = eNone,
bool  bTrack = false,
bool  bInputImagesAreUndistorted = false 
)
private
bool CSegmentableRecognition::AddClass ( const std::string classPath)

Adds a object class to segmentablerecognition which is loaded from the given classPath

Parameters
classPathpath to data files for sementable objects
void CSegmentableRecognition::DoRecognition ( const CByteImage *const *  ppInputImages,
CByteImage **  ppResultImages,
int  nMinPixelsPerRegion,
bool  bBlobsOnly = false,
float  fMaxEpipolarDistance = 10,
ObjectColor  color = eNone,
bool  bTrack = false,
bool  bInputImagesAreUndistorted = false 
)

Perform recognition for all objects in the database

Parameters
ppInputImagesleft and right RGB images in the correct size
ppResultImagesvisualization images can be NULL
nMinPixelsPerRegionminimum number of pixels to accept region
bBlobsOnlyonly detect blobs, do not perform recognition and localization
fMaxEpipolarDistancemaximum distance to epipolar line in order to accept match
colorobjects of which color (eNone means all colors: eRed, eRed2, eBlue, eBlue2, eGreen, eGreen2)
bTracktrack objects over successive frames
bInputImagesAreUndistortedwhether input images have been undistorted
void CSegmentableRecognition::DoRecognitionSingleObject ( const CByteImage *const *  ppInputImages,
CByteImage **  ppResultImages,
const char *  pObjectName,
int  nMinPixelsPerRegion,
float  fMaxEpipolarDistance = 10,
ObjectColor  color = eNone,
bool  bTrack = false,
bool  bInputImagesAreUndistorted = false 
)

Perform recognition for a single object

Parameters
ppInputImagesleft and right RGB images in the correct size
ppResultImagesvisualization images can be NULL
pObjectNamename of the object to recognize
nMinPixelsPerRegionminimum number of pixels to accept region
bBlobsOnlyonly detect blobs, do not perform recognition and localization
fMaxEpipolarDistancemaximum distance to epipolar line in order to accept match
colorobjects of which color (eNone means all colors: eRed, eRed2, eBlue, eBlue2, eGreen, eGreen2)
bTracktrack objects over successive frames
bInputImagesAreUndistortedwhether input images have been undistorted
void CSegmentableRecognition::FindAndClassifyBlobs ( CObjectFinderStereo pObjectFinderStereo,
const CByteImage *const *  ppInputImages,
CByteImage **  pResultImages,
CByteImage pGrayImage,
const char *  pObjectName,
ObjectColor  color,
int  nMinPixelsPerRegion,
bool  bBlobsOnly,
float  fMaxEpipolarDistance,
bool  bInputImagesAreUndistorted 
)
private
const CColorParameterSet* CSegmentableRecognition::GetColorParameterSet ( )
inline

Retrieve current color parameter set

Returns
pointer to color parameter set

Definition at line 159 of file SegmentableRecognition.h.

const Object3DList& CSegmentableRecognition::GetObject3DList ( )
inline

Retrieve objects recognized in the last recognition step

Returns
list of Object3DEntry containing recognized objects

Definition at line 145 of file SegmentableRecognition.h.

CSegmentableDatabase* CSegmentableRecognition::GetObjectDatabase ( )
inline

Retrieve pointer to object database

Returns
pointer to object database

Definition at line 166 of file SegmentableRecognition.h.

const CStereoCalibration* CSegmentableRecognition::GetStereoCalibration ( )

Retrieve current stereo calibration

Returns
pointer to stereo calibration
bool CSegmentableRecognition::Init ( const char *  pColorParameterFile,
const char *  pCameraParameterFileDeprecated,
const char *  pCameraParameterFile,
const char *  pObjectDatabaseConfigurationFile,
const char *  pDataPathPrefix = 0 
)

Init the segmentable recognition.

Parameters
pColorParameterFilerelative or absolute path to colors file
pCameraParameterFileDeprecatedleave empty
pCameraParameterFilerelative or absolute path to calibration file
pObjectDatabaseConfigurationFilerelative or absolute path to configuration file for segmentable recognition
pDataPathPrefixprefix added to all paths in the database configuration file. Allows to keep database file and object data in separate paths.
bool CSegmentableRecognition::Init ( CColorParameterSet pColorParameterSet,
CStereoCalibration pStereoCalibration,
const char *  pObjectDatabaseConfigurationFile 
)

Init the segmentable recognition.

Parameters
pColorParameterSetcolor parameter set
pStereoCalibrationstereo calibration
pObjectDatabaseConfigurationFilerelative or absolute path to configuration file for segmentable recognition
bool CSegmentableRecognition::InitWithoutDatabase ( CColorParameterSet pColorParameterSet,
CStereoCalibration pStereoCalibration 
)

Init the segmentable recognition without reading database. Use this initialization if classes are to be added later with AddClass()

Parameters
pColorParameterSetcolor parameter set
pStereoCalibrationstereo calibration
void CSegmentableRecognition::PostProcessResultList ( )
private
bool CSegmentableRecognition::RecognizeAndLocalizeObject ( CByteImage pGrayImage,
Object3DEntry entry,
const char *  pObjectName 
)
private
void CSegmentableRecognition::SetRecognitionThresholds ( float  fSizeRatioThreshold,
float  fCorrelationThreshold 
)

Override default recognition thresholds

Parameters
fSizeRatioThresholdsize ratio between original and detected object (defaults to 0.8)
fCorrelationThresholdminimum correlation between segmented mask and rendered model (defaults to 0.85)
void CSegmentableRecognition::SetStereoCalibration ( CStereoCalibration pStereoCalibration)

Override stereo calibration as set in Init.

Parameters
pStereoCalibrationa stereo calibration pointer
void CSegmentableRecognition::SetVerbose ( bool  bVerbose)

Enable verbose mode

Parameters
bVerbosemake segmentable recognition verbose

Member Data Documentation

bool CSegmentableRecognition::m_bVerbose
private

Definition at line 201 of file SegmentableRecognition.h.

Object3DList CSegmentableRecognition::m_object3DList
private

Definition at line 199 of file SegmentableRecognition.h.

CColorParameterSet* CSegmentableRecognition::m_pColorParameterSet
private

Definition at line 197 of file SegmentableRecognition.h.

CRegionFilterInterface* CSegmentableRecognition::m_pCompactRegionFilter
private

Definition at line 188 of file SegmentableRecognition.h.

CByteImage* CSegmentableRecognition::m_pGrayImageBig
private

Definition at line 194 of file SegmentableRecognition.h.

CByteImage* CSegmentableRecognition::m_pGrayImageSmall
private

Definition at line 195 of file SegmentableRecognition.h.

CObjectFinderStereo* CSegmentableRecognition::m_pObjectFinderStereo
private

Definition at line 190 of file SegmentableRecognition.h.

CSegmentableDatabase* CSegmentableRecognition::m_pSegmentableDatabase
private

Definition at line 192 of file SegmentableRecognition.h.


The documentation for this class was generated from the following file:


asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Mon Dec 2 2019 03:47:28