00001 #ifndef ossimOpenCVThresholdFilter_HEADER
00002 #define ossimOpenCVThresholdFilter_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
00041 class ossimOpenCVThresholdFilter : public ossimImageSourceFilter
00042 {
00043
00044 public:
00045 ossimOpenCVThresholdFilter(ossimObject* owner=NULL);
00046
00047 virtual ~ossimOpenCVThresholdFilter();
00048
00049 ossimString getShortName()const
00050 {
00051 return ossimString("OpenCVThreshold");
00052 }
00053 ossimString getLongName()const
00054 {
00055 return ossimString("OpenCV Threshold Filter");
00056 }
00057
00058 virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& tileRect, ossim_uint32 resLevel=0);
00059
00060 virtual void initialize();
00061
00062 virtual ossimScalarType getOutputScalarType() const;
00063
00064 ossim_uint32 getNumberOfOutputBands() const;
00065
00066 virtual bool saveState(ossimKeywordlist& kwl,
00067 const char* prefix=0)const;
00068
00073 virtual bool loadState(const ossimKeywordlist& kwl,
00074 const char* prefix=0);
00075
00076 protected:
00077 ossimRefPtr<ossimImageData> theTile;
00078 double theThreshold;
00079 double theMaxValue;
00080 int theThresholdType;
00081 void runUcharTransformation(ossimImageData* tile);
00082
00083 TYPE_DATA
00084 };
00085
00086 #endif