00001 #ifndef __ISimpleColorTranfertOp__
00002 #define __ISimpleColorTranfertOp__
00003
00004
00005
00024 #include "IMultiImageOp.hpp"
00025 #include "RColorRGBtoLab.hpp"
00026
00027 class ISimpleColorTranfertOp : public IMultiImageOp
00028 {
00029 private:
00030
00031 RColorRGBtoLab rgbToLab;
00032
00033 double meanExample[3];
00034 double sigmaExample[3];
00035
00036 protected:
00037
00038 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0)
00039 {
00040 if( dest == 0 ) dest= src->copy();
00041 return dest;
00042 }
00043
00044 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0);
00045
00046
00047
00048 virtual Real3CImage* fcolorFilter(Real3CImage* src, Real3CImage* dest=0)
00049 { return scolorFilter(src, dest); }
00050
00051 public:
00052
00053 ISimpleColorTranfertOp(int iter=1, bool colorFlag= false):IMultiImageOp(iter){}
00054 virtual ~ISimpleColorTranfertOp(){}
00055
00056 virtual void setReference(AnImage* example);
00057
00058 virtual void report(FILE* file){}
00059 };
00060
00061
00062 #endif