TexturedRecognition.h
Go to the documentation of this file.
00001 // *****************************************************************
00002 // -----------------------------------------------------------------
00003 // TexturedRecognition.h 
00004 // -----------------------------------------------------------------
00005 // *****************************************************************
00006 
00007 // *****************************************************************
00008 // Author:  Pedram Azad
00009 // Date:    2006/09/23
00010 // *****************************************************************
00011 
00012 
00013 // *****************************************************************
00014 // double-include protection
00015 // *****************************************************************
00016 
00017 #ifndef _TEXTURED_RECOGNITION_H_
00018 #define _TEXTURED_RECOGNITION_H_
00019 
00020 
00021 // *****************************************************************
00022 // necessary includes
00023 // *****************************************************************
00024 
00025 #include "Structs/ObjectDefinitions.h"
00026 
00027 
00028 // *****************************************************************
00029 // forwards
00030 // *****************************************************************
00031 
00032 class CByteImage;
00033 class CTexturedObjectDatabase;
00034 class CHarrisSIFTFeatureCalculator;
00035 class CStereoCalibration;
00036 
00037 
00038 
00039 
00040 class CTexturedRecognition
00041 {
00042 public:
00043         // constructor
00051         CTexturedRecognition(int nImageWidth, int nImageHeight, float fSIFTThreshold = 0);
00052         
00053         // destructor
00054         ~CTexturedRecognition();
00055         
00056 
00064     bool Init(const char *pObjectDatabaseFilePath, const char *pCameraParameterFileName = 0, const char* pDataFilePath = 0);
00065 
00073         bool Init(const char *pObjectDatabaseFilePath, CStereoCalibration *pStereoCalibration, bool bCloneCalibration, const char* pDataFilePath = 0);
00074         
00084         void DoRecognition(const CByteImage * const *ppInputImages, CByteImage **ppResultImages, bool bLocalizeWithStereo = false, int nUseKdTree = 0, bool bInputImagesAreUndistorted = false);
00085 
00096         void DoRecognitionSingleObject(const CByteImage * const *ppInputImages, CByteImage **ppResultImages, const char *pObjectName,
00097                 bool bLocalizeWithStereo = false, int nUseKdTree = 0, bool bInputImagesAreUndistorted = false);
00098         
00104         void SetVerbose(bool bVerbose);
00105 
00111         void SetStereo(bool bStereo);
00112 
00119         void SetQualityThreshold(float fQualityThreshold);
00120 
00127         void SetRecognitionThresholds(int nMinValidFeatures, float fMaxError);
00128         
00134         const Object3DList& GetObject3DList();
00135     
00141         CTexturedObjectDatabase* GetObjectDatabase() { return m_pObjectDatabase; }
00142         
00143         
00144 private:
00145         // private methods
00146         void _DoRecognition(const CByteImage * const *ppInputImages, CByteImage **ppResultImages, const char *pObjectName,
00147                 bool bLocalizeWithStereo, int nUseKdTree, bool bInputImagesAreUndistorted);
00148         
00149         // private methods
00150         CTexturedObjectDatabase *m_pObjectDatabase;
00151         CHarrisSIFTFeatureCalculator *m_pFeatureCalculator;
00152 
00153         CByteImage *m_ppGrayImages[2];
00154         
00155         int m_nImageWidth;
00156         int m_nImageHeight;
00157         
00158         bool m_bVerbose;
00159 };
00160 
00161 
00162 
00163 #endif /* _TEXTURED_RECOGNITION2_H_ */


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