查看“︁SRGB色彩空间”︁的源代码
←
SRGB色彩空间
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{refimprove|time=2018-09-08T11:15:24+00:00}} {{noteTA |G1=IT }} {{lowercase}} [[File:CIExy1931_sRGB.png|325px|thumb|CIE 1931 xy色彩图表示的sRGB色彩空间的色域以及原色的位置。[[白点]]D65显示在中间]] [[File:SRGB gamma.svg|thumb|275px|红色曲线是相对横轴sRGB压缩值的sRGB强度的函数,蓝色曲线是这个函数在对数-对数空间中斜率,它是每个点上的有效gamma。在压缩值0.04045或线性强度0.00313之下,曲线是线性的所以gamma为1。在红色曲线之后的黑色虚线曲线展示了完全gamma = 2.2幂次定律时的曲线。]] '''sRGB色彩空间'''(standard Red Green Blue,標準紅綠藍色彩空間)是[[惠普]]与[[微软]]于1996年一起开发的用于[[显示器]]、[[打印机]]以及[[因特网]]的一种标准[[RGB色彩空间]]。这种标准得到了[[W3C]]、[[Exif]]、[[英特尔]]、[[Pantone]]、[[Corel]]以及其它许多业界厂商的支持,在[[GIMP]]这样的[[开放源代码]]软件也支持这种标准,另外一些专有的或者像[[SVG]]这样的开放[[图形文件格式]]中也有应用。 sRGB最初设计的目的是作为生成在[[因特网]]以及[[万维网]]上浏览的图像的通用色彩空间,最后选择的是使用[[伽马校正|Gamma校准]]系数为'''2.2'''的色彩空间,即[[阴极射线管|CRT]]显示器在这种情况下的平均线性电压响应。 这里值得重视的是sRGB的设计与当时(1996年)不算理想色彩空间的CRT显示器相匹配。当时大量的专业或者个人电脑软件,使用8位深度的图像文件,并且不经转换就在8位/通道的显示器上显示。许多时髦的非CRT硬件,如LCD、[[数码相机]]以及打印机,尽管本身并不生成sRGB曲线,但是都带有补偿电路或者软件以遵循这个标准。在一些高端的专业设备上可能并不遵循这个标准。因此,我们可以假定任何不带颜色配置表或者其它信息的8位图像文件、8位图像API或者设备接口,都处于sRGB色彩空间。 == 综述 == sRGB定义了红色、绿色与蓝色三[[原色]]的颜色,即在其它两种颜色值都为零时该颜色的最大值。在[[CIE1931色彩空間|CIE xy颜色坐标系]]中红色位于[0.6400, 0.3300]、绿色位于[0.3000, 0.6000]、蓝色位于[0.1500, 0.0600]、白色是位于[0.3127,0.3290]的D65。对于任何的[[RGB色彩空间]]来说,非负的R、G、B都不可能表示超出原色定义的三角形即[[色域]]范围,它刚好在人眼的色彩感知范围之内。 sRGB还定义了原色强度与实际保存的数值之间的非线性变换。这个曲线类似于CRT显示器的gamma响应。重现这条曲线要比sRGB图像在显示器上正确显示更加重要。这个非线性变换意味着sRGB非常高效地使图像文件中的整数值表示了人眼可以分辨的颜色。 sRGB由于它的色域不够大,尤其是蓝-绿颜色色域无法表示[[CMYK]]印刷中的所有颜色,所以通常印刷行业的专业人员不用这种模型。而[[Adobe RGB]]是印刷行业经常使用的色彩空间。 == 变换的规范 == === 从CIE xyY或者CIE XYZ到sRGB的前向变换 === 从CIE xyY坐标系计算sRGB中的三原色首先需要将它变换到CIE XYZ三值模式。<ref>[http://www.w3.org/Graphics/Color/sRGB A Standard Default Color Space for the Internet - sRGB]{{zwsp}}{{Wayback|url=http://www.w3.org/Graphics/Color/sRGB |date=20070106065203 }},其中包含XYZ空间的转换公式</ref> :<math>X = Y x / y,\,</math> :<math>Z = Y (1- x - y)/y\,</math> 这样XYZ值就可以用矩阵转换到线性的RGB值,这些线性值并不是最终的结果。 :<math> \begin{bmatrix} R_{linear}\\G_{linear}\\B_{linear}\end{bmatrix}= \begin{bmatrix} 3.2410&-1.5374&-0.4986\\ -0.9692&1.8760&0.0416\\ 0.0556&-0.2040&1.0570 \end{bmatrix} \begin{bmatrix} X \\ Y \\ Z \end{bmatrix} </math> <math>R_{linear}</math>、<math>G_{linear}</math>与<math>B_{linear}</math>的取值范围为[0,1]。sRGB是反映真实世界gamma为2.2的典型显示器的效果,因此使用下面的变换公式将线性值转换到sRGB。设<math>C_{linear}</math>为<math>R_{linear}</math>、<math>G_{linear}</math>或者<math>B_{linear}</math>,<math>C_{srgb}</math>为<math>R_{srgb}</math>、<math>G_{srgb}</math>或者<math>B_{srgb}</math>: * 如果<math>C_{linear} <= 0.00304\,</math>则<math>C_{srgb}=12.92 C_{linear}\,</math> * 如果<math>C_{linear} > 0.00304\,</math>则<math>C_{srgb}=(1+a)C_{linear}^{1/2.4}-a\,</math> * <math>a = 0.055\,</math> 这些经过gamma校正的值范围为0到1。如果需要0到255的取值范围,如用于视频显示或者8位图形,通常将它乘以255然后取整。 === 逆向变换 === 假设sRGB分量的值<math>R_{srgb}</math>、<math>G_{srgb}</math>、<math>B_{srgb}</math>的取值范围为0到1。 :<math> \begin{bmatrix} X\\Y\\Z\end{bmatrix}= \begin{bmatrix} 0.4124&0.3576&0.1805\\ 0.2126&0.7152&0.0722\\ 0.0193&0.1192&0.9505 \end{bmatrix} \begin{bmatrix} g(R_{srgb})\\ g(G_{srgb})\\ g(B_{srgb})\end{bmatrix} </math> 其中 :对于<math>K>0.04045\,</math>有<math>g(K) = \left(\frac{K+a}{1+a}\right)^\gamma</math> :否则<math>g(K) = \frac{K}{12.92}\,</math> == 变换的理论基础 == 变换的非线性部分是为了逼近2.2的[[伽马校正|gamma校正]]而设计的,但是在K=0斜率不为0,这样可能会产生数值计算的问题。对于sRGB变换来说这大致正确。在<math>K_0</math>处的g(K)为: :<math>\left(\frac{K_0+a}{1+a}\right)^\gamma=\frac{K_0}{\phi}</math> 使用上面的标准值<math>\phi=12.92</math>,得到<math>K_0</math>=0.04045...这就是常用的变换。如果我们要求斜率也要匹配,那么需要: :<math>\gamma\left(\frac{K_0+a}{1+a}\right)^{\gamma-1}\left(\frac{1}{1+a}\right)=\frac{1}{\phi}</math> 这样就得到两个方程。假设未知变量为<math>K_0</math>与<math>\phi</math>,这样就得到<math>K_0</math>=0.03928...与<math>\phi</math>=12.9232.... sRGB规范中有时也使用这些值进行计算,但是它们并不属于标准的一部分。 == 应用 == 作为因特网上推荐使用的色彩空间,在编辑、保存用于WWW的图像的时候要sRGB标准,但是由于与其它色彩空间相比它的[[色域]]较小,因此用于专业印刷的图像如[[印前]]输出则可以使用Adobe RGB那样有较大色域的色彩空间。在一些先进的硬件上的另外一种替代方法是仍然使用sRGB原色模式但是使用负值或者超过1的亮度,这样就可以无限扩大色域。 用其它色彩空间生成的用于因特网的图像在使用合适的图像编辑软件进行编辑的时候可以将它们转换成sRGB,这些软件有[[Corel Paint Shop Pro]]以及[[Adobe Photoshop]]等等。尽管最初的非sRGB文件可以保存并转换为sRGB,但是由于这个转换过程可能会丢失图像信息,所以建议保存为另外的文件以保存原始的非sRGB图像文件。 由于在因特网上的广泛应用,以及许多中低端的消费型[[数码相机]]、[[扫描仪]]都使用sRGB模型作为[[缺省]]模式或者是仅有的色彩空间,同时由于[[喷墨打印机]]的应用,因此许多人认为sRGB色彩空间对于家庭应用来说已经足够了。 两种占据主导位置的三维图形编程接口[[OpenGL]]与[[Direct3D]]都集成有sRGB。OpenGL 2.1中包含有首次在EXT_texture_sRGB扩展中引入的sRGB纹理。OpenGL的EXT_texture_sRGB扩展支持线性或者sRGB色彩空间的渲染缓冲。[[DirectX]] 9支持sRGB纹理以及用Direct3D渲染成sRGB表面。 == 参考文献 == <references /> === 标准 === * [https://webstore.iec.ch/en/publication/6169 IEC 61966-2-1:1999]是官方正式的sRGB规范。它定义了查看所需环境、编码以及[[色度计量]]的规范。 * [https://webstore.iec.ch/publication/6168 A1:2003修正案] {{Wayback|url=https://webstore.iec.ch/publication/6168 |date=20220218083451 }}针对IEC 61966-2-1:1999描述了[[YCbCr]]色彩空间的sYCC编码,扩展[[色域]]RGB编码,和[[CIELAB]]编码转换。 * [https://www.color.org/chardata/rgb/srgb.xalter sRGB] {{Wayback|url=https://www.color.org/chardata/rgb/srgb.xalter |date=20250203062730 }},出自[[国际色彩联盟]] * IEC 61966-2-1 2CD部分的第4版草案[https://web.archive.org/web/20141225172302/http://www2.units.it/ipl/students_area/imm2/files/Colore1/sRGB.pdf 可从网络获取(存档)],并非完善的标准 * [https://web.archive.org/web/20030124233043/http://www.srgb.com/ sRGB.com的网页存档],关于sRGB的设计、准则和使用 == 外部链接 == * [https://www.color.org/sRGB.pdf How to interpret the sRGB color space (specified in IEC 61966-2-1) for ICC profiles] {{Wayback|url=https://www.color.org/sRGB.pdf |date=20241208093250 }} * [https://web.archive.org/web/20071120090526/http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_sRGB.txt OpenGL extension for sRGB textures] * [http://www.cambridgeincolour.com/tutorials/sRGB-AdobeRGB1998.htm Comparison of sRGB and AdobeRGB]{{Wayback|url=http://www.cambridgeincolour.com/tutorials/sRGB-AdobeRGB1998.htm |date=20070105112251 }} {{色彩空間}} [[Category:色彩空间]]
该页面使用的模板:
Template:Lowercase
(
查看源代码
)
Template:NoteTA
(
查看源代码
)
Template:Refimprove
(
查看源代码
)
Template:Wayback
(
查看源代码
)
Template:Zwsp
(
查看源代码
)
Template:色彩空間
(
查看源代码
)
返回
SRGB色彩空间
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息