00001 #include "jafarConfig.h"
00002
00003 #ifndef _PREPROCESSING_PREPROCESSING_H_
00004 #define _PREPROCESSING_PREPROCESSING_H_
00005
00006
00007 #include <kernel/keyValueFile.hpp>
00008 #include <image/ImagePreprocessor.hpp>
00009 #include <preprocessing/PreprocessingFlags.hpp>
00010
00011 namespace jafar {
00012 namespace image {
00013 class Image;
00014 }
00015 namespace preprocessing {
00019 class Preprocessing : public jafar::kernel::KeyValueFileLoad, public jafar::image::ImagePreprocessorNode {
00020 public:
00021 Preprocessing( CamPreprocDistortion pd = CAMPP_DISTORTION_R3, CamPreprocInterp interp = CAMPP_INTERP_BILIN );
00022 virtual ~Preprocessing();
00023 virtual void preprocessImage(const jafar::image::Image& src, jafar::image::Image& dst);
00024 virtual bool hasWork() { return hasWork_; }
00025 #ifndef SWIG
00026 void JAFAR_DEPRECATED rectificationWithCrop(const jafar::image::Image& src, jafar::image::Image& dst);
00027 #else
00028 void rectificationWithCrop(const jafar::image::Image& src, jafar::image::Image& dst);
00029 #endif
00030 protected:
00031 void loadKeyValueFile(jafar::kernel::KeyValueFile const& keyValueFile);
00032 private:
00033 void init(int reduction, int width, int height);
00034 private:
00035 struct Private;
00036 Private* const d;
00037 bool hasWork_;
00038 };
00039 }
00040 }
00041
00042 #endif