#pragma once #include "iimageencode.h" #include #include // typedef struct tagBITMAPFILEHEADER { // WORD bfType; // DWORD bfSize; // WORD bfReserved1; // WORD bfReserved2; // DWORD bfOffBits; // } BITMAPFILEHEADER, *PBITMAPFILEHEADER; class BmpImageEncode : public IImageEncode { public: virtual ~BmpImageEncode(); virtual MemoryPtr encode(cv::Mat& image); }; class JpegImageEncode : public IImageEncode { std::string fmt_; public: JpegImageEncode(bool bwimg, int dpi); JpegImageEncode(const char* fmt, int dpi_h, int dpi_v, int jpeg_quality = 100); virtual ~JpegImageEncode(); virtual MemoryPtr encode(cv::Mat& image); private: std::vector compression_params; bool m_bwimg; };