00001 /******************************************************************************* 00002 * OrigSurfExtractor.h 00003 * 00004 * (C) 2008 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 * 00007 *******************************************************************************/ 00008 00009 #ifndef OrigSurfExtractor_H 00010 #define OrigSurfExtractor_H 00011 00012 #include <vector> 00013 #include <string> 00014 00015 00016 #include "Workers/Math/Box2D.h" 00017 #include "Workers/Math/Point2D.h" 00018 00019 #include "Architecture/Serializer/ExtendedOutStream.h" 00020 #include "Architecture/Serializer/ExtendedInStream.h" 00021 00022 #include "Workers/Puma2/ImageMask.h" 00023 #include "Workers/Puma2/GrayLevelImage8.h" 00024 00025 #include "KeyPoint.h" 00026 #include "SurfExtractorBase.h" 00027 00028 00029 #include <surf/ipoint.h> 00030 #include <surf/image.h> 00031 #include <surf/surf.h> 00032 00033 00039 class OrigSurfExtractor: public SurfExtractorBase 00040 { 00041 public: 00042 00044 OrigSurfExtractor( ); 00045 00047 OrigSurfExtractor( const OrigSurfExtractor& other ); 00048 00050 virtual ~OrigSurfExtractor(); 00051 00053 OrigSurfExtractor& operator=( const OrigSurfExtractor& other ); 00054 00056 virtual void setImage( const puma2::GrayLevelImage8 &pumaImage ); 00057 00059 virtual void setImage( const puma2::ColorImageRGB8 &pumaImage ); 00060 00062 virtual void getKeyPoints ( std::vector< KeyPoint >& keyPoints ); 00063 00064 virtual std::string getName(); 00065 00066 private: 00067 00068 surf::Image* m_IntegralImage; 00069 }; 00070 00071 00072 #endif 00073