Gamma校正是针对灰度的校正手段,校正后叠加色度,就可以还原为彩色图。
Gamma值是一个浮点数,不同的设备的gamma值不同,如下:
camera_gamma:摄像机中图像传感器的γ (通常γ =0.4或者0.5)
encoding_gamma:编码器编码图像文件时引入γ
decoding_gamma :译码器读图像文件时引入γ
LUT_gamma:图像帧缓存查找表中引入γ
CRT_gamma:CRT的γ (通常g =2.5)
这里举例说明在图像编码过程中引入的gamma修正。
一般的图像编码过程中,都会产生一定的损失,适当的gamma修正,可以使图像还原质量更高,这里取gamma值为1.4f。
1、定义gamma索引表:
uint8 table[256];
2、初始化索引表
int i;
float f;
float fPrecompensation = 1 / gamma; // gamma为输入值,这里取固定值1.4f
for(i=0;i<256;i++) {
f=(i+0.5f)/256; //归一化