• ISP-Gamma


    参考:https://blog.csdn.net/lxy201700/article/details/24929013
    http://www.cambridgeincolour.com/tutorials/gamma-correction.htm

    1. 什么是Gamma

    Gamma是一种指数曲线,显示器用这个指数曲线来调整真实输出到显示屏幕上的颜色值,以此更好的适应人类的视觉体验。

    Gamma是显示器用来修改我们输入的颜色值的操作,那么gamma correction就是逆转显示器修改的过程,从而能够让我们这些图形开发者在一个真实的线性RGB空间中进行光照和着色

    灰度是指把白色与黑色之间按对数关系分成若干级,其范围一般为0-255,白色为255,黑色为0 .

    • 一个完整的图像系统需要2个伽马值:
      (1)encoding gamma:它描述了encoding transfer function,即图像设备捕捉到的场景亮度值(scene radiance values)和编码的像素值(encoded pixel values)之间的关系。
      (2)display gamma:它描述了display transfer function,即编码的像素值和显示的亮度(displayed radiance)之间的关系。

    • Gamma校正是指对图像传感器所拍摄图像的亮度进行预调,是更暗的信号在显示器上获得更佳的显示效果技术。

    2. 什么是Gamma 校正

    • 输入电压和显示出来的亮度关系不是线性的.
    • Gamma 校正是对输入图像灰度值进行的非线性操作,是输出图像灰度值与输入图像灰度值呈指数关系

    经过Gamma校正后的输入和输出图像灰度值关系如图1所示:横坐标是输入灰度值,纵坐标是输出灰度值,蓝色曲线是gamma值小于1时的输入输出关系,红色曲线是gamma值大于1时的输入输出关系。可以观察到,当gamma值小于1时(蓝色曲线),图像的整体亮度值得到提升,同时低灰度处的对比度得到增加,更利于分辩低灰度值时的图像细节。

    在这里插入图片描述
    在这里插入图片描述

    3. 为什么Gamma 校正

    (1). 人眼对外界光源的感光值与输入光强不是呈线性关系的,而是呈指数型关系的。在低照度下,人眼更容易分辨出亮度的变化,随着照度的增加,人眼不易分辨出亮度的变化。而摄像机感光与输入光强呈线性关系。如图2所示

    人眼和摄像机的感光与实际输入光强的关系
    为方便人眼辨识图像,需要将摄像机采集的图像进行gamma校正。

    (2). 为能更有效的保存图像亮度信息,需进行Gamma校正。

    未经gamma校正和经过gamma校正保存图像信息如图3所示:
    在这里插入图片描述
    可以观察到,未经gamma校正的情况下,低灰度时,有较大范围的灰度值被保存成同一个值,造成信息丢失;同时高灰度值时,很多比较接近的灰度值却被保存成不同的值,造成空间浪费。经过gamma校正后,图像的信息更加逼近原图的信息从而改善了存储的有效性和效率.

    (3) IMAGE FILE GAMMA
    大多数图像文件使用1/2.2的编码伽马值(例如那些使用sRGB和Adobe RGB 1998颜色的文件),但RAW文件除外,它们使用线性伽马值.
    在这里插入图片描述
    (4)DISPLAY GAMMA
    业界已经一致采用了2.2的标准显示伽马值.
    在这里插入图片描述

    3. Gamma 调试

    测试环境:TL84(看到有的文档写D65光源下,D65 light 不可以调整,我选TL84),灰阶卡

    测试步骤:
    1.在室内,室外,暗处环境下,拍摄灰阶卡
    2. 将手机调至原始分辨率,拍照菜单保持默认
    3. 将灰阶卡国定在灯箱光源正中心.如图
    4. 待图像稳定,完成对焦即可拍摄照片
    5.open imatest ->stepchart,导入灰阶图。
    6. imatest下面详解
    7.生成了Excel表,在图片的位置下。
    8.一般客观有要求,相邻两阶要大于8,并且这样的阶数要大于等于13阶。(这个每个公司的要求不同,依据每个公司客观标准而定)
    在这里插入图片描述

    4. Imatest

    1. 点击Stepchart 选项, 导入测试图片.
      colorcheck 下面那个
      在这里插入图片描述
    2. 调整roi
      在这里插入图片描述
    3. 参数设置
      基本上是默认的. Scaling 下的results 有文档中选image densilty range =1.5 . 工具提示不建议使用. so 选的 3
      在这里插入图片描述
    4. 点击 OK 后出现测试结果
      备注: 有不对的地方欢迎指出.

    5. 结果查看

    (1)红色花圈的是: 曝光测试和gamma的结果
    在这里插入图片描述
    其他图片的我也不知道, 有知道评论说下

    (2)查看曲线是否符合
    实际测试中我们的标准一般是亮度差值大于 8 才认为可区分, 故我们可以先保存测试结果,
    然后到 stepchart_summary.csv 自己写个公式计算相邻两阶亮度的差值,得出可以区分多少
    级灰阶.
    在这里插入图片描述
    故以上测试结果是可区分 12 阶。
    计算方式就Pixel 那一列,上面减去下面(我写的可真详细)

  • 相关阅读:
    PAM从入门到精通(十三)
    【LeetCode:2512. 奖励最顶尖的 K 名学生 | 模拟+哈希表+堆】
    SpringMVC(五):获取请求参数
    美团一面复活赛4/18
    单例模式详解及5种实现方式 (设计模式 一)
    error: tool or SDK not found:
    LVS + Keepalived群集
    【笔记】html图片映射usemap(vue环境下、map、area、coords)
    Java入门------数组
    java后端请求过滤options方式,亲测有效
  • 原文地址:https://blog.csdn.net/h_8410435/article/details/127916309