Main Page | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

VisualFeaturesExtraction.h

Go to the documentation of this file.
00001 /* Copyright (C) 2005 Pierre Moisan (Pierre.Moisan@USherbrooke.ca) 
00002 
00003    This library is free software; you can redistribute it and/or
00004    modify it under the terms of the GNU Lesser General Public
00005    License as published by the Free Software Foundation; either
00006    version 2.1 of the License, or (at your option) any later version.
00007    
00008    This library is distributed in the hope that it will be useful,
00009    but WITHOUT ANY WARRANTY; without even the implied warranty of
00010    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011    Lesser General Public License for more details.
00012    
00013    You should have received a copy of the GNU Lesser General Public
00014    License along with this library; if not, write to the Free Software
00015    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00016 */
00017 
00018 #ifndef _VISUALFEATURESEXTRACTION_H_
00019 #define _VISUALFEATURESEXTRACTION_H_
00020 
00021 #include "BufferedNode.h"
00022 #include <iostream>
00023 #include "Image.h"
00024 #include "cv.h"
00025 #include "VisualFeatureDesc.h"
00026 #include "VisualROI.h"
00027 
00028 namespace RobotFlow {
00029 
00030 template <class FeatBaseType>
00031 class VisualFeaturesExtraction : public FD::BufferedNode
00032 {
00033 public:
00034         VisualFeaturesExtraction()
00035         {
00036         
00037         }
00038         
00039         VisualFeaturesExtraction(std::string nodeName, FD::ParameterSet params)
00040         : BufferedNode(nodeName, params)
00041         {
00042         
00043         }
00044 
00045         virtual ~VisualFeaturesExtraction()
00046         {
00047         
00048         }
00049 
00050         // Default routine to print a VisualFeaturesExtraction object to an output stream
00051         virtual void printOn(std::ostream &out) const = 0;
00052 
00053         // Default routine to read a VisualFeaturesExtraction object from an input stream
00054         virtual void readFrom(std::istream &in) = 0;
00055         
00056         virtual void calculate(int output_id, int count, FD::Buffer &out) = 0;
00057 
00058         virtual void ExtractFeatures(IplImage *i_frame, VisualROI *i_roi) = 0;
00059 
00060         virtual VisualFeatureDesc<FeatBaseType> *GetDescriptor() = 0;
00061         
00062         virtual const VisualFeatureDesc<FeatBaseType> *GetCstDescriptor() const = 0;
00063 };
00064 
00065 }
00066 
00067 #endif

Generated on Wed Oct 5 14:36:12 2005 for RobotFlow by  doxygen 1.4.4