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