颜色空间 |
您所在的位置:网站首页 › gamma值计算方法 › 颜色空间 |
后学末进才疏学浅,试图用不那么抽象的方式聊聊我理解的颜色空间。 必然有误与疏漏,恳请各位大大指正,拜谢。 学习参考内容:【图形学】我理解的伽马校正(Gamma Correction) [Unity3d]总结Gamma Space与Linear Space Unity3D - 颜色空间 (Color Space) 色彩校正中的 gamma 值是什么? 一、颜色空间 做图形相关工作的大多都见过颜色空间这么四个字,它里面包含Gamma颜色空间和线性颜色空间。线性空间:颜色按线性渐变的空间 Gamma空间:暂时理解为颜色不按线性渐变的空间 ——这不是废话嘛,问题来了: 线性空间好理解,颜色按线性渐变。 你可以理解为一个为一个纯黑墨水池子,每次往里加一滴(等量)纯白色颜料,颜色逐渐变浅,直到纯白。记录下每次的色值,你就得到了一个从黑到白的线性渐变。 使用线性渐变的颜色空间,咱们就叫他线性空间。既然有线性空间,就一定有不是线性的空间——Gamma空间。 二、Gamma是啥正式讲Gamma是啥之前,咱们先做一个有趣的对比试验: (一)第一步 这是我在PHOTOSHOP中新建一个文件,如下图: (话说你要是不信我的图,你自己也可也去PS里建一个~) 图1:500*150 / 分辨率75 / 颜色模式RGB 8位 / 背景白色 然后从左(黑)到右(白),水平拉一条渐变,起点终点位于画布左右两端。来让我们进行如下操作: 找出图1中你认为的明暗分界线的大概位置。说的直白一点,你认为亮部和暗部大概从哪里分割比较合适。 我估摸着大多数人选择的位置应该是下图红线(或差不多)的位置吧? 在图1里,我们之所以选择了一个大概在中间的位置做明暗分界线,是因为我们认为红线左面(暗部)和红线右面(亮部)的信息一样多。 因为最左面是纯黑,最右面是纯白,而且咱们对这个渐变过程的体验也挺自然。 对于黑,白,渐变过程自然这三点咱们应该都没什么异议。 所以自然暗部亮部信息一样多,否则就是渐变不自然嘛~现在,和你的大电脑击掌庆祝吧!巧了,它也是这么认为的。你们在图1的明暗分界线这一点上,达成了令人惊喜的共识。 你问我怎么知道电脑也是这么认为的?当然是一系列缜密优雅又符合逻辑的数学运算————跟着我进行如下骚操作: 打开你的大QQ,用它的截图工具的大箭头,瞄准图1最(“最!”敲黑板)左面,最黑的地方,观察箭头数值,是不是RGB(0,0,0),嗯,记在心里或本儿上。 好,咱们再去最(敲黑板)右面,最白的地方,大箭头瞄准它,是不是RGB(255,255,255)?差那么1-2个数的,一定是你自己撸多了手抖吸不准,也别较这个真儿了,无所谓的,差不太多就得了。 现在咱们去红线附近吸一吸~注意别傻乎乎的去吸红线的红色,要吸红线附近的灰色,咱们观察的是从黑到白的渐变,跟红没关系。你在红线低端或者顶端吸都行。 RGB数值是多少?是不是RGB(128,128,128)左右? 重点来了!缜密优雅又符合逻辑的数学运算来了!现在我们知道从黑到白是从0-255的过程,那么我们开始计算——255+1(+1是为了0,0,0占去的那1位,也就是说黑到白经过了256个过程),再除以2,我们得到了这个渐变的中间点,咔嚓——结果正好是128! 惊不惊喜,意不意外?————把这个128,128,128记在心里,他就是你和你家大电脑都认为的明暗分界线,也就是中间亮度。这个结果合情合理符合逻辑。这时,相信你一定有一个疑问,为什么是256?这就要说到这张图片的格式了——RGB8位,这个格式是电脑用来存储图片的,你可能听说过的sRGB也是8位的。 8位代表了什么?8代表2进制的2的8次幂,就是256。也就是说它代表三原色(红绿蓝RGB)的色阶最多只有256(从0到255)种,就是256种红,256种绿,256种蓝,用这么多的颜色我们能调成256 X 256 X 256 = 16777216种颜色。怎么样,够你折腾了吧?说实话,并不是所有人都能分辨出256种不同的红,反正我是不能~那为什么要有8位图?因为8位图的色彩够你折腾了啊!在这么多色彩给你折腾的前提下,占用的存储空间也比较小啊! 再观察图1,注意图一边框下部的:文档:219.7K,看到木有,还不到1/4MB啊!一张500*150大小的图还不到1/4MB啊!你拿8位图网络传输、做个贴图渲染什么的,存储空间成本和效率成本都比较好啊。 所以!(敲黑板),拿页游,手游举例,等一系列对图像品质要求不高的平台,我们使用的贴图都是8位的,你听说过的sRGB也是8位的,没听说过就无视。因为8位占空间小,色彩表现能力(数量)又符合平台需求,渲染效率更符合平台能力(比如适合网络传输,适合手机GPU渲染等)。好了,说了这么多,你得到了两个新姿势! a. 从黑到白的明暗分界线的色阶是RGB(128,128,128)。 b. RGB8位是什么,有什么用。 c. 我有姿势我自豪。 第二步 既然是对比试验,就一定要有对比对象,下面我们来进行第二步:下面是我在PHOTOSHOP中新建的另一个文件,如下图: (建议你照着我的,去PS里再建一个~一会可能用得到) 图2:500*150 / 分辨率75 / 颜色模式RGB 32位 / 背景白色 然后从左(黑)到右(白),水平拉一条渐变,起点终点位于画布左右两端。暗部去哪了: 暗部没减少,反倒增多了。 因为图片格式变成了32位,它有了更多的色阶来表现颜色。 你不应该再用QQ吸管,而是应该去PS里建一个32位RGB图片观察色板。 它不再是RGB0-255,而是变成了0.0000-1.0000。 代表了RGB三原色的更多色阶。 你之前划分的暗部仍然在红线的左侧,那128个暗部色值都没有消失。 相反,32位图提供了更多的色阶来表现暗部,数量也远大于128。具体数量不需要关心,也不是2的32次方,感兴趣的可以自行查阅32位RGB,不在本文展开。 也就是说32位格式下,使用了0.2的空间,表现了8位格式下占一半的暗部,不仅如此,还附送了多得多的暗部细节,因为色阶变多了嘛,虽然作为人类,我们可能感受不到那么多色阶变化..。亮部增多了: 没错,确实多出来许多的亮部信息。 32位格式下,多出来的亮部信息,包含8位原本的亮部信息,以及大量你可能难以区分的亮部信息。 至于原因,下文看完就懂了。渐变不自然 “黑少白多,渐变不自然”————那是你以为。 这才是自然界中真实的渐变,因为这才是线性的,每次滴入等量白色颜料的从黑到白的渐变。 之所以你会觉得渐变不自然,是因为人类的眼睛对暗部的变化更为敏感(至于理论方面的依据,请自行搜索,本文只说结论)。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |