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