2022-07-29 08:41:34 +00:00
|
|
|
|
/*
|
|
|
|
|
* ====================================================
|
|
|
|
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣺2020/4/21
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣺2020/4/21
|
|
|
|
|
* <EFBFBD>汾<EFBFBD>ţ<EFBFBD>v1.0
|
|
|
|
|
|
|
|
|
|
* ====================================================
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef IMAGE_APPLY_CUSTOM_CAMMA_H
|
|
|
|
|
#define IMAGE_APPLY_CUSTOM_CAMMA_H
|
|
|
|
|
|
|
|
|
|
#include "ImageApply.h"
|
|
|
|
|
|
|
|
|
|
class GIMGPROC_LIBRARY_API CImageApplyCustomGamma : public CImageApply
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
/*
|
|
|
|
|
* table [in]:<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>
|
|
|
|
|
* length [in]:<EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD>Ҷȱ<EFBFBD>256<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD>768
|
|
|
|
|
* */
|
|
|
|
|
CImageApplyCustomGamma(unsigned char* table,int length);
|
|
|
|
|
|
|
|
|
|
virtual ~CImageApplyCustomGamma();
|
|
|
|
|
|
|
|
|
|
virtual void apply(cv::Mat& pDib, int side);
|
|
|
|
|
|
|
|
|
|
virtual void apply(std::vector<cv::Mat>& mats, bool isTwoSide);
|
|
|
|
|
|
|
|
|
|
void setTableData(const unsigned char* data, int length);
|
|
|
|
|
private:
|
|
|
|
|
void init_gamma_table();
|
|
|
|
|
void setLUT(const unsigned char* table, int byteCount);
|
|
|
|
|
bool emptyPtr;
|
|
|
|
|
private:
|
|
|
|
|
unsigned char m_table_bit8[256];
|
|
|
|
|
|
|
|
|
|
unsigned char m_table_bit24[768];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // !IMAGE_APPLY_CUSTOM_CAMMA_H
|