00001 #ifndef __ILargeTextureLeeDetectorOp__ 00002 #define __ILargeTextureLeeDetectorOp__ 00003 00004 00005 00041 #include <stdio.h> 00042 00043 #include "ILargeMorphologicalOp.hpp" 00044 00045 #include "ILargeOpeningOp.hpp" 00046 #include "ILargeClosingOp.hpp" 00047 00048 class ILargeTextureLeeDetectorOp : public ILargeMorphologicalOp 00049 { 00050 protected: 00051 00052 ILargeOpeningOp opening; // low 00053 ILargeClosingOp closing; // upp 00054 00055 protected: 00056 00057 virtual int operation(AnImage* src, int channel, int i, int j){return 0;} 00058 00059 public: 00060 00061 ILargeTextureLeeDetectorOp(){} 00062 ILargeTextureLeeDetectorOp(StructuredElement* aStructuredElement); 00063 virtual ~ILargeTextureLeeDetectorOp(){} 00064 00065 virtual void setIterations(int iter){closing.setIterations(iter); opening.setIterations(iter);} 00066 00067 virtual void setStructuredElement(StructuredElement* aStructuredElement); 00068 00069 virtual AnImage* filter(AnImage* src, AnImage* dest=0); 00070 00071 virtual void report(FILE* file){} 00072 }; 00073 00074 00075 #endif