(一)伽马(γ )的概念

  现实世界中几乎所有的CRT显示设备、摄影胶片和许多电子照相机的光电转换特性都是非线性的。这些非线性部件的输出与输入之间的关系(例如,电子摄像机的输出电压与场景中光强度的关系,CRT发射的光的强度与输入电压的关系)可以用一个幂函数来表示,它的一般形式是:

  输出=(输入)γ

  式中的γ (gamma)是幂函数的指数,它用来衡量非线性部件的转换特性。这种特性称为幂-律(power-law)转换特性。按照惯例,“输入”和“输出”都缩放到0~1之间。其中,0表示黑电平,1表示颜色分量的最高电平。对于特定的部件,人们可以度量它的输入与输出之间的函数关系,从而找出γ值。

  实际的图像系统是由多个部件组成的,这些部件中可能会有几个非线性部件。如果所有部件都有幂函数的转换特性,那么整个系统的传递函数就是一个幂函数,它的指数γ 等于所有单个部件的g 的乘积。如果图像系统的整个γ =1,输出与输入就成线性关系。这就意味在重现图像中任何两个图像区域的强度之比率与原始场景的两个区域的强度之比率相同,这似乎是图像系统所追求的目标:真实地再现原始场景。但实际情况却不完全是这样。

  当这种再生图像在“明亮环境”下,也就是在其他白色物体的亮度与图像中白色部分的亮度几乎相同的环境下观看时,γ =1的系统的确可使图像看起来像“原始场景”一样。但是某些图像有时在“黑暗环境”下观看所获得的效果会更好,放映电影和投影幻灯片就属于这种情况。在这种情况下,γ 值不是等于1而通常认为g »1.5,人的视角系统所看到的场景就好像是“原始场景”。根据这种观点,投影幻灯片的γ 值就设计为1.5左右,而不是1。

  还有一种环境称为中间环境的“暗淡环境”,这种环境就像房间中的其他东西能够看到,但比图像中白色部分的亮度更暗。看电视的环境和计算机房的环境就属于这种情况。在这种情况下,通常认为再现图像需要γ »1.25才能看起来像“原始场景”。

  (二)γ校正

  所有CRT显示设备都有幂-律转换特性,如果生产厂家不加说明,那么它的γ 值大约等于2.5。用户对发光的磷光材料的特性可能无能为力去改变,因而也很难改变它的γ值。为使整个系统的γ 值接近于使用所要求的γ 值,起码就要有一个能够提供γ 校正的非线性部件,用来补偿CRT的非线性特性。

  在所有广播电视系统中,γ 校正是在摄像机中完成的。最初的NTSC电视标准需要摄像机具有γ =1/2.2=0.45的幂函数,现在采纳γ=0.5的幂函数。PAL和SECAM电视标准指定摄像机需要具有γ =1/2.8=0.36的幂函数,但这个数值已显得太小,因此实际的摄像机很可能会设置成γ =0.45或者0.5。使用这种摄像机得到的图像就预先做了校正,在γ =2.5的CRT屏幕上显示图像时,屏幕图像相对于原始场景的γ 大约等于1.25。这个值适合“暗淡环境”下观看。

  过去的时代是“模拟时代”,而今已进入“数字时代”,进入计算机的电视图像依然带有γ =0.5的校正,这一点可不要忘记。虽然带有γ 值的电视在数字时代工作得很好,尤其是在特定环境下创建的图像在相同环境下工作。可是在其他环境下工作时,往往会使显示的图像让人看起来显得太亮或者太暗,因此在可能条件下就要做γ 校正。

  在什么地方做γ 校正是人们所关心的问题。从获取图像、存储成图像文件、读出图像文件直到在某种类型的显示屏幕上显示图像,这些个环节中至少有5个地方可有非线性转换函数存在并可引入γ 值。例如:

  camera_gamma:摄像机中图像传感器的γ (通常γ =0.4或者0.5)

  encoding_gamma:编码器编码图像文件时引入γ

  decoding_gamma :译码器读图像文件时引入γ

  LUT_gamma:图像帧缓存查找表中引入γ

  CRT_gamma:CRT的γ (通常g =2.5)

  在数字图像显示系统中,由于要显示的图像不一定就是摄像机来的图像,假设这种图像的γ 值等于1,如果encoding_gamma=0.5,CRT_gamma=2.5和decoding_gamma,LUT_gamma都为1.0时,整个系统的γ 就近似等于1.25。

  根据上面的分析,为了在不同环境下观看到“原始场景”可在适当的地方加入γ 校正。

机器视觉图像处理之:伽马校正相关推荐

  1. 基于FPGA的图像处理之幂律(伽马校正)变化

    基于FPGA的灰度图像处理之幂律(伽马)变化 1 背景知识 幂律变换的基本形式为: (1) 其中c和为正常数.有时考虑到偏移量 可将式(1)写为.偏移量一般是显示标定问题,作为一个结果,通常在式(1) ...

  2. matlab批量读取图像图片并批量处理图像(以伽马校正为例)以及批量保存图像

    文章目录 处理1张图片,获取4幅不同伽马校正图像 批量读取图片模板 批量处理多张图片,分别获取4幅伽马校正图像 参考 处理1张图片,获取4幅不同伽马校正图像 实验结果 实验代码 get_4_pictu ...

  3. 我理解的伽马校正(Gamma Correction)

    [图形学]我理解的伽马校正(Gamma Correction) 2015年05月30日 18:22:52 妈妈说女孩子要自立自强 阅读数:69844 版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  4. 图像亮度、对比度调节(伽马校正)

    [OpenCV学习]图像亮度.对比度调节(伽马校正) 作者:gnuhpc  出处:http://www.cnblogs.com/gnuhpc/ #include "cv.h" #i ...

  5. OpenGL Gamma Correction伽马校正的实例

    OpenGL Gamma Correction伽马校正 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <glad/glad.h> # ...

  6. 有生之年转ta系列 2.6 伽马校正

    本文内容来自 [技术美术百人计划]图形 2.6 伽马校正 观后记录 美术岗位代码或者算法一类的问题可能不太懂 本文仅用来记录学习,如果有不对的请指出谢谢 图形部分 第二章 伽马校正 颜色空间 色度图 ...

  7. 利用OpenCV进行图像伽马校正

    伽马校正,最好的,最高效的方法是通过查找表Table来访问. 核心函数LUT(Look UP Table): 这是最被推荐的用于实现批量图像元素查找和更该操作图像方法.在图像处理中,对于一个给定的值, ...

  8. 色彩校正(CCM)和伽马校正(Gamma)

    目录 1.色彩矫正(CCM) 2.伽马校正(Gamma) 1.色彩矫正(CCM)         色彩校正(Color Correction)是指用相同的方法改变图像中的所有像素的颜色值,以得到不同得 ...

  9. OpenGL学习脚印:伽马校正(Gamma Correction)

    写在前面 由于CRT,LED等显示设备显示颜色时并非按照线性方式工作,因此我们在程序中输出的颜色,最终输出到显示器上时会产生亮度减弱的现象,这种现象在计算光照和实时渲染时对图形质量有一定影响,需要我们 ...

  10. OpenCV论道:为什么我的伽马校正函数只有一行?

    最近在用 OpenCV 识别棋盘棋子,基本的思路是这样的:先转灰度,再做高斯模糊和二值化,此时棋盘格上有的有棋子,有的无棋子:通过迭代腐蚀,消去棋子,再迭代膨胀回来,就得到了一个纯净的棋盘:识别棋盘, ...

最新文章

  1. tf.keras.activations.relu 激活函数 示例
  2. IOS中四种json解析效率比较
  3. uoj22 外星人(dp)
  4. 白苹果了怎么强制开机_iphone X 手机进水开机卡白苹果怎么回事?
  5. 文本框宽度自动适应文本宽度
  6. c/c++读取txt文件中指定行的内容_和尧名大叔一起从0开始学Python编程-简单读写文件
  7. matlab中svm testacc参数,使用Matlab进行交叉验证的多类SVM的完整示例
  8. VC++如何获取目标程序的句柄hProcess
  9. 【云栖精选】6篇深度!解除MySQL数据同步疑惑+Docker技术示例
  10. 2022-2027年中国虾养殖行业市场调研及未来发展趋势预测报告
  11. 记 游戏测试Month2
  12. ESP32编译运行ADF音频库
  13. html后台管理模板(源码)
  14. 20个面向前端开发人员的文档和指南(第4号)
  15. 易语言 计算机取用户名,易语言GetUserNameA获取系统当前用户名
  16. 当下中国的十二种孤独
  17. 想进Google,先来做做Google招聘题
  18. python中readlines是什么意思_python中read、readline、readlines之间的区别
  19. 【Redis核心原理和应用实践】应用 2:缓兵之计 —— 延时队列
  20. DataStage_FAQ

热门文章

  1. 在iPad应用中嵌入字体的方法——非人云亦云版
  2. ML之shap:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图/依赖关系贡献图可视化实现可解释性之攻略
  3. 插值法(最邻近,双线性,双三次)的原理及实现
  4. CTF隐写之文件怎么打不开?=0.0=
  5. Echarts3.0入门基础与实战(学习笔记)
  6. opencv 基本算子,LOG算子-墨西哥草帽算子,canny算子
  7. 计算机网络第一章概述总结知识点
  8. 使用Python获取指定Windows凭证账户密码
  9. python基础教程(第3版) pdf,python手册中文版第四版
  10. AutoCAD入门——常用指令