53 lines
908 B
C++
53 lines
908 B
C++
#pragma once
|
|
#include "ImageApply.h"
|
|
|
|
class CImageAdjustColors : public CImageApply
|
|
{
|
|
public:
|
|
CImageAdjustColors(void);
|
|
CImageAdjustColors(float fBrightness, float fContrast, float fGamma);
|
|
virtual ~CImageAdjustColors(void);
|
|
|
|
virtual void apply(cv::Mat& pDib,int side);
|
|
|
|
void setAdjustColors(float fBrightness, float fContrast, float fGamma);
|
|
|
|
private:
|
|
class Range
|
|
{
|
|
public:
|
|
Range()
|
|
{
|
|
}
|
|
Range(int nMin, int nMax)
|
|
{
|
|
m_min = MIN(nMin, nMax);
|
|
m_max = MAX(nMin, nMax);
|
|
}
|
|
|
|
int getMin()
|
|
{
|
|
return m_min;
|
|
}
|
|
|
|
int getMax()
|
|
{
|
|
return m_max;
|
|
}
|
|
|
|
private:
|
|
int m_min;
|
|
int m_max;
|
|
};
|
|
void updata();
|
|
int GetRangeValue(int low, int up, int value);
|
|
void CalculateMap(Range in, Range out, unsigned char* map);
|
|
void MapToMap(byte* mapsIn, byte* mapsOut);
|
|
float m_fBrightness;
|
|
float m_fContrast;
|
|
float m_fGamma;
|
|
float getRealContrast(float twContrast);
|
|
cv::Mat lut;
|
|
};
|
|
|