Gamma校正原理和实现代码

Gamma校正是图像处理中的重要步骤,用于改善灰度显示效果并提高图像质量。文章介绍了不同设备的Gamma值,如相机、编码器、译码器等,并详细解释了在编码过程中的Gamma修正,以1.4f为例。通过定义和初始化gamma索引表,进行灰度值的预补偿和反归一化操作,实现了图像的Gamma校正。最后展示了校正代码,遍历图像矩阵并应用索引表进行灰度校正。
摘要由CSDN通过智能技术生成

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; //归一化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值