00001 #ifndef ossimOpenCVDilateFilter_HEADER
00002 #define ossimOpenCVDilateFilter_HEADER
00003
00004 #include "ossim/plugin/ossimSharedObjectBridge.h"
00005 #include "ossim/base/ossimString.h"
00006 #include "ossim/imaging/ossimImageSourceFilter.h"
00007
00008 #include "cv.h"
00009
00023 class ossimOpenCVDilateFilter : public ossimImageSourceFilter
00024 {
00025 public:
00026 ossimOpenCVDilateFilter(ossimObject* owner=NULL);
00027 ossimOpenCVDilateFilter(ossimImageSource* inputSource);
00028 ossimOpenCVDilateFilter(ossimObject* owner,
00029 ossimImageSource* inputSource);
00030 virtual ~ossimOpenCVDilateFilter();
00031 ossimString getShortName()const
00032 {
00033 return ossimString("OpenCVDilate");
00034 }
00035
00036 ossimString getLongName()const
00037 {
00038 return ossimString("OpenCV Dilate Filter");
00039 }
00040
00041 virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& tileRect, ossim_uint32 resLevel=0);
00042
00043 virtual void initialize();
00044
00045 virtual ossimScalarType getOutputScalarType() const;
00046
00047 ossim_uint32 getNumberOfOutputBands() const;
00048
00049 virtual bool saveState(ossimKeywordlist& kwl,
00050 const char* prefix=0)const;
00051
00056 virtual bool loadState(const ossimKeywordlist& kwl,
00057 const char* prefix=0);
00058
00059
00060
00061
00062
00063
00064
00065
00066 protected:
00067
00068 ossimRefPtr<ossimImageData> theTile;
00069 void runUcharTransformation(ossimImageData* tile);
00070 int theIterations;
00071
00072 TYPE_DATA
00073 };
00074
00075 #endif