• Gamma(1)


    目前为止看到的解释Gamma来由说得最清楚的一篇文章:https://www.cambridgeincolour.com/tutorials/gamma-correction.htm

    几点总结。

    1,什么是Gamma?

    Gamma定义为 Vout=Vin^gamma,其中Vin是输入/实际的亮度,Vout是输出亮度。

    为什么会出现Gamma这个概念?主要2个原因。

    (1)与机械不同,人眼对光强度的感应不是线性的。在黑暗的环境中,人眼对等量的亮度变化更加敏感。

    gamma_chart1e

    由上图可以,当gamma值大于1时,曲线朝下凸;当gamma值小于1时,曲线朝上凸。因为亮度坐标是归一化的。

    上图中人眼的gamma curve为1/2.2。

    (2)照相机等电子设备存储图片时,有2中存储方案。

    image

    例如用5-bit表示颜色,用linearly encoded的方法时,在灰度之间平均分配比特数;用gamma encoded的方法时,给较小的灰度分配较多的比特。目前在电子设备中存储图像时,大都使用gamma encoded的方法。因为假如使用linearly encoded,图像洗刷出来时,为保证图像边界的平滑和连续,实际上会需要更多比特存储图像,否则会出现image posterization的现象。

    image

    刷海报时,海报墨迹未干,墨水会朝着下框汇聚成梳齿状。

    据统计,如果使用linearly enocded,8-bit bpc的图像,为了防止posterization,实际上会需要11比特。

    2,gamma encoded是一种图像存储方法,不是图像显示方法。

    3,gamma correction, gamma encoding和camma compression其实是一回事。

    4,viewing gamma/system gamma

    image

    image

    5,CRT显示器与LCD显示器的Gamma

    (1)非常巧合的是,CRT自身就有一个约2.5的gamma,几乎刚刚好与人眼的gamma成倒数关系。因此对于一个 1/2.2 gamma encoded的图像,其几乎可以直接用于CRT显示。

    (2)对于LCD显示器,需要用LUT实现一个2.2的gamma。

  • 相关阅读:
    函数及习题
    数组和集合
    数组和集合实例
    普通集合和泛型集合的区别,哈希表和字典表的区别,队列和堆栈的区别以及堆和栈的区别。
    c#时间表示
    c#正则表达式
    js正则实例
    习题实例
    c#数据类型
    简单控件
  • 原文地址:https://www.cnblogs.com/freshair_cnblog/p/11466020.html
Copyright © 2020-2023  润新知