00001 #ifndef __IOpeningOp__ 00002 #define __IOpeningOp__ 00003 00004 00005 00026 #include <stdio.h> 00027 00028 #include "IMorphologicalOp.hpp" 00029 00030 #include "IErosionOp.hpp" 00031 #include "IDilatationOp.hpp" 00032 00033 class IOpeningOp : public IMorphologicalOp 00034 { 00035 protected: 00036 00037 IErosionOp erosion; 00038 IDilatationOp dilatation; 00039 00040 public: 00041 00042 IOpeningOp(int iter=1){dilatation.setIterations(iter); erosion.setIterations(iter);} 00043 IOpeningOp(StructuredElement* aStructuredElement, int iter=1); 00044 virtual ~IOpeningOp(){} 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