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

IHomomorphicOp.hpp

00001 #ifndef __IHomomorphicOp__
00002 #define __IHomomorphicOp__
00003 
00027 #include <stdio.h>
00028 
00029 #include "IMultiImageOp.hpp"
00030 #include "Real3CImage.hpp"
00031 
00032 #include "RHomomorphicOp.hpp"
00033 
00034 class IHomomorphicOp: public IMultiImageOp 
00035 {
00036 private:
00037 
00038 OutHRetinex                     type;                           
00039 
00040 double                          sigma;
00041 double                          gamma;
00042 
00043 protected:
00044 
00045 // mono channel
00046 
00047 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00048 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00049 
00050 // separate color channels
00051 
00052 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0);
00053 virtual Real3CImage* scolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0);
00054 
00055 
00056 // separate color channels
00057 
00058 virtual Real3CImage* fcolorFilter(Real3CImage* src, Real3CImage* dest=0);
00059 virtual Real3CImage* fcolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0);
00060 
00061 public:
00062         
00063 IHomomorphicOp(OutHRetinex atype=Gamma, double asigma=10.0, double agamma=1.0, bool colorFlag= false)
00064                 :IMultiImageOp(1,colorFlag)
00065         {sigma=asigma; gamma=agamma;type= atype;}
00066 virtual ~IHomomorphicOp(){}
00067 
00068 virtual void setSigma(double asigma){ sigma=asigma;}
00069 virtual void setGamma(double agamma){ gamma=agamma;}
00070 
00071 virtual void report(FILE* file){}
00072 };
00073 
00074 
00075 #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