42 lines
900 B
C
42 lines
900 B
C
|
#ifndef HUAGO_TIFF_H
|
|||
|
#define HUAGO_TIFF_H
|
|||
|
#include <opencv2/opencv.hpp>
|
|||
|
#include <tiff.h>
|
|||
|
#include <tiffio.h>
|
|||
|
|
|||
|
class G4Tiff
|
|||
|
{
|
|||
|
public:
|
|||
|
enum class Mode
|
|||
|
{
|
|||
|
FileMode,
|
|||
|
MemoryMode
|
|||
|
};
|
|||
|
G4Tiff(cv::Mat& mat, Mode mode, std::string path, int threshold=120,int res=200, int compression = COMPRESSION_CCITT_T6);
|
|||
|
~G4Tiff();
|
|||
|
|
|||
|
static uchar* load_mini_file(const char* file, size_t* bytes, void* (*mem_alloc)(size_t, const char*));
|
|||
|
|
|||
|
public:
|
|||
|
/*
|
|||
|
*<EFBFBD>ڴ洫<EFBFBD><EFBFBD>ģʽʱѹ<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void GetCompressedData(std::vector<uchar>& cmpeddata);
|
|||
|
uchar* get_compressed_data(size_t* bytes, void* (*mem_alloc)(size_t, const char*));
|
|||
|
/*
|
|||
|
* <EFBFBD>ļ<EFBFBD>ģʽʱʹ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SaveG4Tiff();
|
|||
|
private:
|
|||
|
void save(cv::Mat& mat);
|
|||
|
private:
|
|||
|
void except(bool condition, const std::string& message = "");
|
|||
|
std::string m_tmppath;
|
|||
|
int m_threshold;
|
|||
|
int m_res;
|
|||
|
int compression_;
|
|||
|
Mode m_mode;
|
|||
|
cv::Mat m_mat;
|
|||
|
};
|
|||
|
#endif // !HUAGO_TIFF_H
|