Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

IVariationalRetinexOp.hpp

00001 #ifndef __IVariationalRetinexOp__
00002 #define __IVariationalRetinexOp__
00003 
00027 #include <stdio.h>
00028 
00029 #include "IMultiImageOp.hpp"
00030 #include "Real3CImage.hpp"
00031 
00032 class IVariationalRetinexOp: public IMultiImageOp 
00033 {
00034 private:
00035 
00036 double  gamma;
00037 double  alpha;
00038 double  beta;
00039 int             maxLevels;
00040 
00041 protected:
00042 
00043 // mono channel
00044 
00045 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00046 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00047 
00048 // separate color channels
00049 
00050 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0);
00051 virtual Real3CImage* scolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0);
00052 
00053 
00054 // separate color channels
00055 
00056 virtual Real3CImage* fcolorFilter(Real3CImage* src, Real3CImage* dest=0);
00057 virtual Real3CImage* fcolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0);
00058 
00059 public:
00060         
00061 IVariationalRetinexOp(double agamma=1.6, double aalpha=0.03, double abeta=0.25, int maxlevels=5, bool colorFlag= false)
00062                 :IMultiImageOp(1,colorFlag)
00063         {gamma= agamma; alpha=aalpha; beta=abeta; maxLevels= maxlevels;}
00064 virtual ~IVariationalRetinexOp(){}
00065 
00066 virtual void setAlpha(double aalpha){ alpha= aalpha;}
00067 virtual void setBeta(double abeta){ beta= abeta;}
00068 virtual void setGamma(double agamma){ gamma= agamma;}
00069 
00070 virtual void report(FILE* file){}
00071 };
00072 
00073 
00074 #endif
SourceForge.net Logo
Restoreinpaint sourceforge project `C++/Java Image Processing, Restoration, Inpainting Project'.

Bernard De Cuyper: Open Project Leader: Concept, design and development.
Bernard De Cuyper & Eddy Fraiha 2002, 2003. Bernard De Cuyper 2004. Open and free, for friendly usage only.
Modifications on Belgium ground of this piece of artistic work, by governement institutions or companies, must be notified to Bernard De Cuyper.
bern_bdc@hotmail.com