Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _SEGMENTABLE_RECOGNITION_H_
00018 #define _SEGMENTABLE_RECOGNITION_H_
00019
00020
00021
00022
00023
00024
00025 #include "Structs/ObjectDefinitions.h"
00026
00027
00028
00029
00030
00031
00032 class CObjectFinder;
00033 class CObjectFinderStereo;
00034 class CStereoCalibration;
00035 class CRegionFilterInterface;
00036 class CByteImage;
00037 class CSegmentableDatabase;
00038 class CColorParameterSet;
00039
00040
00041
00042
00043 class CSegmentableRecognition
00044 {
00045 public:
00046
00047 CSegmentableRecognition();
00048
00049
00050 ~CSegmentableRecognition();
00051
00052
00063 bool Init(const char *pColorParameterFile, const char *pCameraParameterFileDeprecated, const char *pCameraParameterFile,
00064 const char *pObjectDatabaseConfigurationFile, const char* pDataPathPrefix = 0);
00065
00074 bool Init(CColorParameterSet* pColorParameterSet, CStereoCalibration* pStereoCalibration, const char *pObjectDatabaseConfigurationFile);
00075
00083 bool InitWithoutDatabase(CColorParameterSet* pColorParameterSet, CStereoCalibration* pStereoCalibration);
00084
00091 bool AddClass(const std::string& classPath);
00092
00098 void SetStereoCalibration(CStereoCalibration *pStereoCalibration);
00099
00105 void SetRecognitionThresholds(float fSizeRatioThreshold, float fCorrelationThreshold);
00106
00119 void DoRecognition(const CByteImage * const *ppInputImages, CByteImage **ppResultImages,
00120 int nMinPixelsPerRegion, bool bBlobsOnly = false, float fMaxEpipolarDistance = 10,
00121 ObjectColor color = eNone, bool bTrack = false, bool bInputImagesAreUndistorted = false);
00122
00136 void DoRecognitionSingleObject(const CByteImage * const *ppInputImages, CByteImage **ppResultImages, const char *pObjectName,
00137 int nMinPixelsPerRegion, float fMaxEpipolarDistance = 10,
00138 ObjectColor color = eNone, bool bTrack = false, bool bInputImagesAreUndistorted = false);
00139
00145 const Object3DList& GetObject3DList() { return m_object3DList; }
00146
00152 const CStereoCalibration* GetStereoCalibration();
00153
00159 const CColorParameterSet* GetColorParameterSet() { return m_pColorParameterSet; }
00160
00166 CSegmentableDatabase* GetObjectDatabase() { return m_pSegmentableDatabase; }
00167
00173 void SetVerbose(bool bVerbose);
00174
00175
00176 private:
00177
00178 void _DoRecognition(const CByteImage * const *ppInputImages, CByteImage **ppResultImages, const char *pObjectName = 0,
00179 int nMinPixelsPerRegion = 500, bool bBlobsOnly = false, float fMaxEpipolarDistance = 10,
00180 ObjectColor color = eNone, bool bTrack = false, bool bInputImagesAreUndistorted = false);
00181 void FindAndClassifyBlobs(CObjectFinderStereo *pObjectFinderStereo, const CByteImage * const *ppInputImages,
00182 CByteImage **pResultImages, CByteImage *pGrayImage, const char *pObjectName, ObjectColor color,
00183 int nMinPixelsPerRegion, bool bBlobsOnly, float fMaxEpipolarDistance, bool bInputImagesAreUndistorted);
00184 bool RecognizeAndLocalizeObject(CByteImage *pGrayImage, Object3DEntry &entry, const char *pObjectName);
00185 void PostProcessResultList();
00186
00187
00188 CRegionFilterInterface *m_pCompactRegionFilter;
00189
00190 CObjectFinderStereo *m_pObjectFinderStereo;
00191
00192 CSegmentableDatabase *m_pSegmentableDatabase;
00193
00194 CByteImage *m_pGrayImageBig;
00195 CByteImage *m_pGrayImageSmall;
00196
00197 CColorParameterSet *m_pColorParameterSet;
00198
00199 Object3DList m_object3DList;
00200
00201 bool m_bVerbose;
00202 };
00203
00204
00205
00206 #endif
asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Thu Jun 6 2019 21:46:58