
HSL,就是色调,饱和度和亮度,也是一种色彩空间模式,类似于RBG,只不过用HSL表示色彩更加的符合人类的视角感观,而RBG则更多用于机械上。所以,我们要实现多颜色的渐变要做的是把RBG转成HSL,然后改变H(色调)分量(S和L不用变),这时就得到了新的HSL,再把这个新HSL转换成RBG。#def
灰度我们要学习的第一个技术就是将彩色图转换成灰度图,我们首先要明白的一点就是,其实标准的灰度图就是每个像素点的三个通道的值一样或者近似,我们的策略就是将每个像素的每个通道的值都调成一样,取R,G,B值为三者的算数平均数就可以了,比如原色是RGB(169,204,69), 那么最终的RGB就是(169
RGB转灰度图基础 对于彩色转灰度,有一个很著名的心理学公式: Gray = R*0.299 + G*0.587 + B*0.114整数算法 而实际应用时,希望避免低速的浮点运算,所以需要整数算法。 注意到系数都是3位精度的没有,我们可以将它们
#include <math.h>typedef unsigned char UNIT8; //用 8 位无符号数表示 0~255 之间的整数UNIT8 g_GammaLUT[256];//全局数组:包含256个元素的gamma校正查找表//Buildtable()函数对0-255执行如
#ifndef COLORHELPER_H#define COLORHELPER_H#include <stdlib.h>#include <stdbool.h>#include <stdint.h>#define mine_max(a,b) (((a) &