00001 #ifndef __IErosionOp__ 00002 #define __IErosionOp__ 00003 00004 00005 00024 #include <stdio.h> 00025 00026 #include "IMorphologicalOp.hpp" 00027 00028 #include "StructuredElement.hpp" 00029 00030 00031 class IErosionOp : public IMorphologicalOp 00032 { 00033 protected: 00034 00035 int iterations; 00036 00037 StructuredElement* structuredElement; // byte image 00038 00039 protected: 00040 00041 virtual AnImage* singleFilter(AnImage* src, AnImage* dest=0); 00042 00043 public: 00044 00045 IErosionOp(int iter=1){structuredElement=0; iterations=iter;} 00046 IErosionOp(StructuredElement* aStructuredElement, int iter=1) 00047 {structuredElement= aStructuredElement; iterations=iter;} 00048 00049 virtual ~IErosionOp(){delete structuredElement;} 00050 00051 virtual void setIterations(int iter){iterations=iter;} 00052 00053 virtual void setStructuredElement(StructuredElement* aStructuredElement) 00054 {structuredElement= aStructuredElement;} 00055 00056 virtual AnImage* filter(AnImage* src, AnImage* dest=0); 00057 00058 virtual void report(FILE* file){} 00059 }; 00060 00061 00062 #endif