#ifndef CVSAMPLESOUTPUT_H #define CVSAMPLESOUTPUT_H #include "ioutput.h" class PngDatasetOutput: public IOutput { friend IOutput* IOutput::createOutput(const char *filename, OutputType type); public: virtual bool write( const CvMat& img, const CvRect& boundingBox); virtual ~PngDatasetOutput(){} private: PngDatasetOutput() : extension("png") , destImgWidth(640) , destImgHeight(480) {} virtual bool init(const char* annotationsListFileName ); CvRect addBoundingboxBorder(const CvRect& bbox) const; private: char annotationFullPath[PATH_MAX]; char* annotationFileName; char* annotationRelativePath; char* imgRelativePath; const char* extension; int destImgWidth; int destImgHeight ; }; class JpgDatasetOutput: public IOutput { friend IOutput* IOutput::createOutput(const char *filename, OutputType type); public: virtual bool write( const CvMat& img, const CvRect& boundingBox ); virtual ~JpgDatasetOutput(){} private: JpgDatasetOutput(){} }; #endif // CVSAMPLESOUTPUT_H