六、扩充 gamma校正流程

205 篇文章 24 订阅
订阅专栏

gamma校正流程

计算机为什么要做gamma校正:

  1. 人的视觉对光强度的感知是非线性的
  2. 数字图像所能采集和回放的灰阶层次有限的,需要省着点用(节约带宽)

物理光强相对值

上面一条,实际的物理光强50%位置其实再后面一点的位置。

物理光强相对值21.8。

物理灰阶与美术(视觉)灰阶相对关系

灰阶有限需要省着用的解释

8位每通道一共记录256个数据。

如果均匀分布美术灰阶则如下图所示:

如果均等分布物理灰阶则如下图所示

上图可见,物理中灰过于偏向亮部(绿线),亮部区域过于集中,导致暗部区域样本数缺少。

如果按照物理中灰进行采样,下图中可见红线与

现象

上图可知,如果对8位每通道采用物理灰度进行采样即线性记录物理光强数据,“美术暗部”只会有56个样本,就会导致一个现象——色阶断层。

如果按照非线性记录物理光强数据,则会得到一个人眼看起来较为平滑的画面。

流程图:

渲染器32位每通道(物理数据)-> gamma≈2.2校正到8位每通道(美术数据)->gamma = 1校正8位每通道

引擎渲图问题(灯光过曝、室内过暗等)

原因:

开始如数的数据是“美术数据”输入的gamma≈2.2 ,经过一屏幕的压暗处理后贴图是正常了,但是光线变得很暗,导致画面整体偏暗,然后引擎内部再将整体画面提亮后,光线虽然正常了,但是贴图会变的很亮导致画面渲染错误。

错误的工作流程:

正确的工作流程:

    • 首先渲染器对输入的贴图使用下压的gamma曲线将贴图的数值还原会gamma=1的数值——De-Gamma操作。
    • 然后对线性的贴图数据,线性的光照数据进行操作,得到线性结果
    • 通过屏幕输出后,屏幕会将图片压暗
    • 通过引擎内置按钮,再将图片进行一遍gamma校正,得到最终正确的图像

对比图:

PS操作中的误区

颜色混合

8位每通道与32位每通道(生活中的样子)颜色混合对比图

图片缩放

缩放前

缩放后

  • 在8位每通道环境下进行测试

  • 缩放后看到的是在“美术色阶”(gamma约等于2.2)的图像,美术中灰0.5,则实际物理中灰是0.2
  • 本来我们想要的是一个物理中灰,但是PS算出一个物理中灰

高斯模糊

32位每通道下进行高斯模糊

8位每通道下进行高斯模糊

PS中的线性工作流程

  • 现在32位每通道中进行色彩运算,然后切换到8位每通道,再进行保存导出即可。
  • 图像->模式->32/每通道 ——> 图像->模式->8/每通道

作业

直接修改Unity里的色彩空间选项

Gamma空间下效果:

Linner空间下效果:

代码转换:

①调用Unity内部方法GammaToLinearSpace、LinearSpaceToGammaSpace。

转换前:

转换后:

UnityCG.cginc内部源码

inline float GammaToLinearSpaceExact (float value)
{
    if (value <= 0.04045F)
        return value / 12.92F;
    else if (value < 1.0F)
        return pow((value + 0.055F)/1.055F, 2.4F);
    else
        return pow(value, 2.2F);//看灰色的return,调用的GammaToLinearSpaceExact ,rgb大于1时,pow 2.2曲线下压变暗
}

inline half3 GammaToLinearSpace (half3 sRGB)
{
  
    return sRGB * (sRGB * (sRGB * 0.305306011h + 0.682171111h) + 0.012522878h);

    // Precise version, useful for debugging.
    //return half3(GammaToLinearSpaceExact(sRGB.r), GammaToLinearSpaceExact(sRGB.g), GammaToLinearSpaceExact(sRGB.b));
}

inline float LinearToGammaSpaceExact (float value)
{
    if (value <= 0.0F)
        return 0.0F;
    else if (value <= 0.0031308F)
        return 12.92F * value;
    else if (value < 1.0F)
        return 1.055F * pow(value, 0.4166667F) - 0.055F;
    else
        return pow(value, 0.45454545F); //pow 1/2.2,曲线上突变亮
}

inline half3 LinearToGammaSpace (half3 linRGB)
{
    linRGB = max(linRGB, half3(0.h, 0.h, 0.h));
    return max(1.055h * pow(linRGB, 0.416666667h) - 0.055h, 0.h);

    // Exact version, useful for debugging.
    //return half3(LinearToGammaSpaceExact(linRGB.r), LinearToGammaSpaceExact(linRGB.g), LinearToGammaSpaceExact(linRGB.b));
}

数据增强技术及其应用:基于PyTorch平台实现数据增强方法
AI天才研究院
08-11 435
数据集是机器学习模型训练、优化以及部署的基础设施。现代深度学习模型的性能和可靠性都依赖于数据集的质量、规模和多样性。如何扩充训练数据集对于提升模型性能和效果至关重要。数据增强(Data Augmentation)是一种通过创建合成数据集的方式,扩充训练数据集的方法,从而让模型更适应不断变化的输入分布。本文将结合图像分类任务和文本生成任务,对数据增强技术进行介绍并基于PyTorch平台实现数据增强方法,探讨其作用及其在文本生成任务中的优势。2.图像分类数据增强3.文本生成数据增强。
百人计划(图形部分)伽马校正
WINDGRIN23313的博客
08-23 453
MAY的百人计划https://space.bilibili.com/7398208? 韩世麟:https://www.bilibili.com/video/BV15t411Y7cf?from=search&seid=2451983306845066261
MTK PQ调试之Gamma和色温调试
最新发布
weixin_42911907的博客
12-09 3346
在手机屏幕调试过程中,经常会遇到屏的ECN器件存在色温差异问题,举个栗子:一供和二供屏在纯白颜色界面有着很明显的色温差异。那么有的同仁可能会疑问,为什么不让两个ECN器件保持同样的色温标准呢?答案是目前行业中,很少有哪家模组厂能够保证模组的一致性非常好,且固定色温偏差在一个很小的范围内;另外,不同的模组厂之间的物料也会有差异,所以很常见的就是不同模组厂出货的屏幕色温会存在差异,更甚至有同一批次的模组有些色温的差异会达到500-1000K。这个时候,从软件层面来优化这种类似问题的需求便应势而生了.
Gamma矫正
4396的博客
02-25 246
为什么要用gamma矫正? 因为人眼对暗部观察敏感,使用的为美术灰阶,也就是物理灰阶21.8%=美术灰阶中灰50%,这一对应关系可用一个映射函数来表示即y=x^(1/2.2) ,下方函数图像。人眼可以自动gamma映射。 由于在计算机渲染运算时使用的是精度较高的浮点数,浮点数足够存储21.8%的暗部信息,但是存储图片时使用的是8bit的存储空间,对于暗部只有256*21.8%=55.8个灰阶,不足够存储暗部的信息,会发生明显断层,所以需要将浮点数映射到gamma空间(此时图片会发亮),再把数据转换至8b
【TA100】图形 2.6伽马(Gamma校正
weixin_45810196的博客
06-08 2432
● 一些颜色空间的举例,(具体参考2.1节内容)● 图中可以看到,sRGB和Rec.709的色域是差不多的,三原色的位置是相同的,那么它们之间的区别就是:传递函数不同。
古老的基于亮度平均值的自动Gamma校正算法
weixin_39450742的博客
06-30 1052
本篇博文来自博主Imageshop,更多内容可以移步至Imageshop查看。 转载自:https://www.cnblogs.com/Imageshop/p/13380028.html侵删   在github上搜索代码Auto Gamma Correction,找到一个比较古老的代码,详见:https://github.com/PedramBabakhani/Automatic-Gamma-Correction,配套的代码使用VHDL语言写的,看了半天一个for循环没有,是在看不懂,幸好里面有篇算法.
python+cv2实现自动gamma校正(自动!)
执契的博客
07-22 1万+
找了很久的资料,关于python的gamma校正很多,找不到自动的方法,也可能是自己过于菜 通过C版本的OPENCV的自动gamma校正找到了相关算法gamma值计算: gamma_val = math.log10(0.5)/math.log10(mean/255) 结果图(image_raw为原图,image_gamma校正图): (曝光不足的) (曝光过度的,可能产生部分失...
YOLOv8图像分类数据集增强技巧:扩充数据提升模型鲁棒性,让你的模型更强大
[YOLOv8图像分类数据集增强技巧:扩充数据提升模型鲁棒性,让你的模型更强大](https://img-blog.csdnimg.cn/direct/9135656968d34843a0edaf7028b7b423.png) # 1. YOLOv8图像分类简介 YOLOv8是一种先进的图像分类...
Node.js实现深度学习图片预处理技巧
此外,虽然文中未详细展开,但还有其他预处理技术,如白化(whitening)和Gamma校正,它们可以进一步改善模型的性能,但可能需要更深入的专业知识来理解和应用。 使用Node.js进行图片预处理是提升深度学习模型性能...
基于OpenCV的路面质量检测的实现
12-16
数据增强通过调整亮度(如应用伽马校正和增加亮度)来扩充训练数据,使模型能够学习识别光照变化下的路面类型。在`dataset.py`中定义了这两个函数,`adjust_gamma`用于降低亮度,`adjust_brightness`用于提高亮度。...
HTML5/JavaScript 图像自动Gamma校正
11-04
对应博客:http://blog.csdn.net/u013347241/article/details/52988863
Opencv中SVM的使用问题
编程就是在计算机中反应世界
04-16 2666
CvSVM svm;// = CvSVM();//新建一个SVM CvSVMParams param;//这里是参数 CvTermCriteria criteria; criteria = cvTermCriteria( CV_TERMCRIT_EPS, 1000, FLT_EPSILON ); param = CvSVMPa
图像Gamma(伽玛)校正的原理及OpenCV代码实现
热门推荐
昊虹AI笔记
06-13 2万+
图像Gamma(伽玛)校正的原理及OpenCV代码实现
Gamma校正
qq_43066332的博客
07-19 2811
Gamma校正 目录 Gamma校正 韦伯定律 线性工作流 Unity中颜色空间 资源导出问题 我的铁哥们(一辈子的朋友哈哈)韩世麟老师相当简洁准确易懂的讲解Gamma校正和线性工作流 https://www.bilibili.com/video/BV15t411Y7cf?from=search&seid=2451983306845066261 下面是我根据韩老师的讲授内容做的笔记 为什么需要Gamma校正: ① 人的视觉对光强度的感知是非线性的 这两条明度条,人眼认为上方的条由黑到白是均匀过
图像处理算法Gamma校正
kkae8643150的专栏
02-25 5725
文章目录1 使用场景2 原理3 实现步骤4 实现5 效果 1 使用场景 当一张图片出现过亮或者过暗的时候导致图像对比度较差,可以使用Gamma校正来处理 2 原理 如上图所示,为函数 f(I)=Iγf(I) = I^γf(I)=Iγ的曲线表示: 当γ<1γ<1γ<1时,为图中上方的虚线曲线,图中γ=1/2.2γ=1/2.2γ=1/2.2 当γ=1γ=1γ=1时,为图中间的直线,也就是f(I)=If(I)=If(I)=I 当γ>1γ>1γ>1时, 为图中下方的曲线实线,
gamma校正
于书盼的博客
01-03 5227
1、gamma校正定义 Gamma源于CRT(显示器/电视机)的响应曲线,即其亮度与输入电压的非线性关系。 所谓伽玛校正就是对图像的伽玛曲线进行编辑,以对图像进行非线性色调编辑的方法,检出图像信号中的深色部分和浅色部分,并使两者比例增大,从而提高图像对比度效果。 在图像照度不均匀的情况下,可以通过Gamma校正,将图像整体亮度提高或降低。在实际中可以采用两种不同的方式进行Gamma标准化,平
图像处理之gamma校正
06-26 6846
https://www.cnblogs.com/qiqibaby/p/5325193.html
写文章

热门文章

  • 管理七剑 第3课 5554
  • 1.5 常用DCC软件 4814
  • 管理七剑 第二课 4635
  • 游戏开发17课 Unity碰撞器(Collider)与触发器(Trigger) 4024
  • cocoscreator 发布抖音小游戏 2957

分类专栏

  • 游戏开发 205篇
  • 游戏 29篇
  • Typescript 5篇
  • 日常 1篇
  • 游戏服务器 7篇
  • 管理 6篇
  • java 2篇

最新评论

  • KITTI

    普通网友: 写的很好,细节很到位!【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • KITTI

    普通网友: 每当我阅读你的编程博客文章时,我总能感受到你的专业水平和耐心解答的精神。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 设计模式-模板模式

    普通网友: 博主的文章让我对这个主题有了全新的认识,细节描写非常到位,让我感受到了博主的深厚功底。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 观察者模式

    普通网友: 这篇文章是优质之作,内容充实,结构明晰,语言流畅且通俗易懂,适合广大读者阅读。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 游戏开发36课 cocoscreator scrollview优化

    LoneWolf1989: 这里有个问题, content 使用 Layout 组件虽然省事,但在 removeChild 头节点后,所有元素都要向上移动,这样在视觉体验上并不好。

大家在看

  • YOLOv11全网最新创新点改进系列:融合华为提出Gold-YOLO,高效实时目标检测器,精度再提升,多目标、小目标无处遁形! 610
  • Spring 源码学习(二)—— xml 配置解析
  • 基于multisim仿真汽车尾灯(带刹车)
  • 探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
  • Luma API 的使用 1

最新文章

  • 02 变量和基本类型
  • KITTI
  • ML system 入坑指南
2024年37篇
2023年103篇
2022年107篇
2021年2篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家宁波创意玻璃钢雕塑哪家便宜宁波玻璃钢仿铜雕塑商家定做玻璃钢花盆价格商场美陈英语怎么说白山玻璃钢雕塑造型贴金广州玻璃钢卡通雕塑直销价格山东酒店玻璃钢造型雕塑制作廊坊玻璃钢雕塑价格朔州玻璃钢仿铜雕塑厂家供应上海卡通玻璃钢雕塑价格德州玻璃钢雕塑定做玻璃钢菩萨雕塑广西商场雕塑玻璃钢四川大型商场美陈哪里有金昌玻璃钢动物雕塑厂家抚顺玻璃钢卡通雕塑上海商场主题创意商业美陈哪家好深圳玻璃钢雕塑定做厂家建筑构件玻璃钢雕塑长春商场美陈报价玻璃钢雕塑怎么翻新珠海景观雕塑玻璃钢怀集玻璃钢浮雕雕塑批发云南玻璃钢商场美陈雕塑广东商业商场美陈销售安庆玻璃钢雕塑人物定制潮州玻璃钢景观雕塑报价江阴商场亮化美陈卡通人玻璃钢雕塑摆件批发浙江商场主题创意商业美陈策划香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化