66 lines
1.5 KiB
C++
66 lines
1.5 KiB
C++
/*
|
||
* ====================================================
|
||
|
||
* 功能:色彩调整,可以调整伽马、亮度、对比度效果。叠加优先级:亮度 > 对比度 > 伽马
|
||
* 作者:刘丁维
|
||
* 生成时间: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
|
||
|
||
|