code_device/hgdriver/ImageProcess/ImageApplyAdjustColors.h

66 lines
1.5 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* ====================================================
* 功能:色彩调整,可以调整伽马、亮度、对比度效果。叠加优先级:亮度 > 对比度 > 伽马
* 作者:刘丁维
* 生成时间2020/4/21
* 最近修改时间2020/4/21
* 版本号v1.0
* ====================================================
*/
#ifndef IMAGE_APPLY_ADJUST_COLOR_H
#define IMAGE_APPLY_ADJUST_COLOR_H
#include "ImageApply.h"
class GIMGPROC_LIBRARY_API CImageApplyAdjustColors : public CImageApply
{
public:
CImageApplyAdjustColors(void);
/*
* brightness [in]: 亮度调节,取值范围[-255, 255]
* constrast [in]: 对比度调节,取值范围[-128 127]
* gamma [in]: 伽马调节,取值范围[0.1, 5.0]
*/
CImageApplyAdjustColors(int brightness, int contrast, float gamma);
virtual ~CImageApplyAdjustColors(void);
virtual void apply(cv::Mat& pDib, int side);
virtual void apply(std::vector<cv::Mat>& mats, bool isTwoSide);
void setAdjustColors(int brightness, int contrast, float gamma);
int getContrast() { return m_contrast; }
int getBrightness() { return m_brightness; }
double getGamma() { return m_gamma; }
void setBrightness(int brightness);
void setContrast(int contrast);
void setGamma(float gamma);
private:
void update_lutData();
private:
int m_brightness;
int m_contrast;
float m_gamma;
cv::Mat lut;
};
#endif // !IMAGE_APPLY_ADJUST_COLOR_H