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

RMultiScaleImage.hpp

00001 #ifndef __RMultiScaleImage__
00002 #define __RMultiScaleImage__
00003 
00004 
00005 
00029 class RImage;
00030 class AnImage;
00031 
00032 
00033 class RMultiScaleImage 
00034 {
00035 private:
00036 
00037 int             channel;        
00038 
00039 int             width0;
00040 int             height0;
00041 
00042 double  scale;
00043 int             maxLevels;
00044 
00045 RImage**        plane;                  // level is mostly the original image
00046 
00047 
00048 public:
00049 
00050 RMultiScaleImage( int w, int h , int levels=4, double scales=0.5, bool filled=true);
00051 RMultiScaleImage( RImage* source, int levels=4, double scales=0.5, bool filled=true);
00052 RMultiScaleImage( AnImage* source , int achannel=0, int levels=4, double scales=0.5, bool filled=true);
00053 RMultiScaleImage(       RMultiScaleImage& im);                                                          // copy
00054 ~RMultiScaleImage();
00055 
00056 RMultiScaleImage* copy();
00057 
00058 int getLevels(){return maxLevels;}
00059 double getScale(){return scale;}
00060 
00061 RImage* get0(){return plane[0];}
00062 RImage* get(int level){return plane[level];}
00063 
00064 void    set0(RImage* src); 
00065 void    set(int level, RImage* aplane);
00066 
00067 int getWidth(){ return width0; }
00068 int getHeight(){ return height0; }
00069 
00070 int getWidth(int level);
00071 int getHeight(int level);
00072 
00073 // pixel operation
00074 inline double   get(int x, int y, int level=0){ return plane[level]->get(x,y); }
00075 inline void             set(int x,int y, int level, double value){ plane[level]->set(x,y, value); }
00076 };
00077 
00078 #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