33 double I =
static_cast<double>(i++) / 65535.0;
38 p = (1 + b) * powf(I, 1.0 / gamma) - b;
39 value =
round(255.0 * p);
45 apply(source, source + count, destination);
49 void GammaLut16::apply(
const uint16_t *first,
const uint16_t *last, uint8_t *destination)
const
54 *destination++ = lookUpTable[*first++];
void apply(const uint16_t *source, size_t count, uint8_t *destination) const
GammaLut16(double gamma=2.4, double a=12.92, double b=0.055, double Ii=0.00304)
std::vector< uint8_t > mLookUpTable
double round(double value, int decimal_places)