00001 #ifndef __ISimpleClosingOp__ 00002 #define __ISimpleClosingOp__ 00003 00004 00005 00026 #include <stdio.h> 00027 00028 #include "ISimpleMorphologicalOp.hpp" 00029 00030 #include "ISimpleErosionOp.hpp" 00031 #include "ISimpleDilatationOp.hpp" 00032 00033 class ISimpleClosingOp : public ISimpleMorphologicalOp 00034 { 00035 protected: 00036 00037 ISimpleDilatationOp dilatation; 00038 ISimpleErosionOp erosion; 00039 00040 00041 public: 00042 00043 ISimpleClosingOp(int n, int greyFg):dilatation(n,greyFg),erosion(n,greyFg){} 00044 ISimpleClosingOp(int n, int red, int green, int blue) 00045 :dilatation(n, red, green, blue),erosion(n, red, green, blue){} 00046 virtual ~ISimpleClosingOp(){} 00047 00048 virtual void setIterations(int iter){dilatation.setIterations(iter); erosion.setIterations(iter);} 00049 00050 virtual void setSource(AnImage* src){erosion.setSource(src);} 00051 00052 virtual AnImage* filter(AnImage* src, AnImage* dest=0); 00053 00054 virtual void report(FILE* file){} 00055 }; 00056 00057 00058 #endif