32 lines
753 B
C++
32 lines
753 B
C++
// encoder bmp to given format
|
|
//
|
|
// Date: 2024-02-26
|
|
#pragma once
|
|
|
|
#include <imgprc/img_processor.h>
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
class img_encoder : public image_processor
|
|
{
|
|
std::string fmt_ = ".jpg";
|
|
int jpeg_quality_ = 100;
|
|
std::vector<int> param_;
|
|
|
|
public:
|
|
img_encoder(bool weaker = false);
|
|
|
|
protected:
|
|
~img_encoder();
|
|
|
|
public:
|
|
virtual int set_value(const char* name/*nullptr for all options*/, void* val/*nullptr for restore*/) override;
|
|
|
|
public:
|
|
virtual image_processor* copy_weaker(void) override;
|
|
virtual int process(std::vector<PROCIMGINFO>& in, std::vector<PROCIMGINFO>& out) override;
|
|
|
|
public:
|
|
std::shared_ptr<std::vector<uchar>> encode(LPPACKIMAGE head, cv::Mat& mat);
|
|
};
|