00001 #ifndef __AnInpaintingOp__ 00002 #define __AnInpaintingOp__ 00003 00004 00023 #include <stdio.h> 00024 00025 #include "AnImageOp.hpp" 00026 00027 class AnInpaintingOp : public AnImageOp 00028 { 00029 protected: 00030 00031 int n; 00032 00033 00034 int extWidth; 00036 int maskValueExt; 00037 00039 int nMaskExt; 00041 int* xmExt; 00043 int* ymExt; 00044 00045 protected: 00046 00048 00050 virtual void loadMaskExt(AnImage& maskExt); 00052 virtual void unloadMaskExt(){ delete[] xmExt; delete[] ymExt; nMaskExt=0; } 00053 00054 public: 00055 AnInpaintingOp(int np=500, int extensionWidth=10):AnImageOp() 00056 {n= np; nMaskExt=0; xmExt=0; ymExt=0; maskValueExt=255; extWidth=extensionWidth; } 00057 virtual ~AnInpaintingOp(); 00058 00060 virtual int getMaskValueExt(){return maskValueExt;} 00062 virtual void setMaskValueExt(int value){maskValueExt= value;} 00063 00064 virtual void setMaskExt(int n, int* xp, int* yp){ xmExt=xp; ymExt=yp; nMaskExt=n; } 00065 00066 virtual AnImage* filter(AnImage* src, AnImage* dest=0){return 0;} 00067 00068 virtual void report(FILE* file){ fprintf(file,"inpainting\n"); } 00069 }; 00070 00071 00072 #endif