tx-gxx-linux/device/gxx-linux/imgproc/imageencode.h

36 lines
759 B
C++

#pragma once
#include "iimageencode.h"
#include <vector>
#include <string>
// 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);
virtual ~JpegImageEncode();
virtual MemoryPtr encode(cv::Mat& image);
private:
std::vector<int> compression_params;
bool m_bwimg;
};