00001 #ifndef __IClosingOp__ 00002 #define __IClosingOp__ 00003 00004 00005 00026 #include <stdio.h> 00027 00028 #include "IMorphologicalOp.hpp" 00029 00030 #include "IErosionOp.hpp" 00031 #include "IDilatationOp.hpp" 00032 00033 class IClosingOp : public IMorphologicalOp 00034 { 00035 protected: 00036 00037 IDilatationOp dilatation; 00038 IErosionOp erosion; 00039 00040 public: 00041 00042 IClosingOp(int iter=1){dilatation.setIterations(iter); erosion.setIterations(iter);} 00043 IClosingOp(StructuredElement* aStructuredElement, int iter=1); 00044 virtual ~IClosingOp(){} 00045 00046 virtual void setIterations(int iter){dilatation.setIterations(iter); erosion.setIterations(iter);} 00047 00048 virtual void setStructuredElement(StructuredElement* aStructuredElement); 00049 00050 virtual AnImage* filter(AnImage* src, AnImage* dest=0); 00051 00052 virtual void report(FILE* file){} 00053 }; 00054 00055 00056 #endif