00001 #ifndef __RHomomorphicOp__
00002 #define __RHomomorphicOp__
00003
00028 #include <stdio.h>
00029
00030 #include "AbsRImageFilter.hpp"
00031
00032 enum OutHRetinex {
00033 Reflectance=1,
00034 LogReflectance=2,
00035 Illumination=4,
00036 LogIllumination=5,
00037 Gamma=8 };
00038
00039 class RHomomorphicOp : public AbsRImageFilter
00040 {
00041 private:
00042
00043 OutHRetinex type;
00044
00045 double sigma;
00046 double gamma;
00047
00048 public:
00049
00050 RHomomorphicOp(double asigma=10.0, OutHRetinex atype=Reflectance, double agamma=1.0):AbsRImageFilter()
00051 {sigma=asigma; type= atype; gamma=agamma;}
00052 virtual ~RHomomorphicOp(){}
00053
00054 void setSigma(double val){sigma= val;}
00055
00056
00057 virtual RImage* filter(RImage* src, RImage* dest=0);
00058
00059 virtual void report(FILE* file){ fprintf(file,"Real Homomorphic filter\n"); }
00060 };
00061
00062
00063 #endif