首页
学习
活动
专区
圈层
工具
发布

视频中为什么需要这么多的颜色空间?

:非线性 RGB、线性 RGB、YUV、XYZ……为什么需要这么多的色彩空间呢?...图片来源:https://www.astropix.com/html/astrophotography/how.html ADC 转换的数字信号的数值是一个线性编码的过程,这意味着如果将图像传感器上的光量增加...) AVFrame->color_primaries[21]中保存了RGB/XYZ的转换矩阵 如果用 ffprobe 命令解析视频文件,则: color_space字段对应 YUV/RGB 的转换矩阵...color_transfer字段对应线性 RGB 和非线性 RGB 之间的转换函数 color_primaries字段对应 RGB/XYZ 的转换矩阵 $ ffprobe -select_streams...| 显示设备和相机的色域一致 如果编码视频和播放视频的显示器采用的 RGB 色域是一致的,比如都是 sRGB,此时的播放过程相对比较简单。

1.7K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    图像色彩空间与应用转换

    从这个上面看不到Z,其实Z是表示颜色得亮度,或者深度,所以CIE XYZ颜色模型的这个图又被称为CIE 色度图。...CIE XYZ颜色模型表示的范围比较大,所以后来微软跟惠普就提出了一个它的子集的颜色模型sRGB色彩空间,其中S是英文单词标准的首字母,sRGB色彩空间的表示如下: ?...从图中可以看成Adobe RGB色彩空间是比sRGB色彩空间大的,但是这个也有缺陷,就是不同色彩空间生成的彩色图像,在不同的设备上显示或者浏览会出现色差,为了解决这个问题,需要对不同色彩空间之间建立转换模型...其中值得关注的部分是sRGB跟CMYK之间的相互转换,这个转换之后会导致很明显的色彩差异,原因在于CMYK色彩空间又一部分不在sRGB内部,所以这种情况下,需要对RGB色彩空间进行非线性变换,获得颜色补偿...原因在于多数商业打印机都是基于四色(Cyan, Yellow, Magenta and Black),无法打印一些sRGB范围的颜色,所以必须进行非线性变换跟补偿。

    1.5K10

    光和颜色

    而光则是由一系列强度各不相同的光波的组合,如下图,依次为白炽灯,白日光,汞灯,低高压钠灯以及那个什么金属灯所对应的波长和强度的映射关系。这样,我们就有了一个强度和光波之间的函数,我们记作f(v) ?...毕竟负数在现实中并不实用,于是,人们又找到三个分量XYZ,并建立一个XYZ-RGB的映射关系(矩阵),但XYZ都大于零,于是便有了CIE-XYZ的颜色模型: ?...这样,基于这个图,我们定义RGB三个点以及中心点(白色),就可以计算出RGB和XYZ之间的线性转换关系,如上是sRGB的定义,可见,该颜色模型并不能覆盖所有的可见光颜色。...如下是HSV和RGB之间的对比,我们选择任意一个颜色,比如红色,右侧是该颜色的单色(monochromatic),我们上下滑动该控件,对比HSV和RGB的变化区别。...SV针对每一个色调H都有一个L的色带,如果我们固定饱和度为0,则对应的是灰度色带,纯色的亮度变化,也是我们人类最擅长识别的。

    1.9K30

    AISP Pipeline | 端到端camera成像原理

    卷积核是 Dccm 的原子,输入是 ISP 模型中前一个函数的中间表示,输出N个 RGB 图像 Iccm: Iccm 通过 一个CNN编码器 Eccm,产生权重向量 Wccm 经过色彩转换的 sRGB...图像是由 Iccm 和 Wccm 的线性组合获得,这相当于将字典中的原子进行线性组合,并将结果 CCM 应用于图像 模型同时学习字典 Dccm 和编码器 Eccm 这种新颖的摄像机参数字典表示法可以一次性学习各种摄像机的...CCM 注意可逆映射过程中Eccm前向和反向是不同的 Digital Gain and White Balance 定义参数字典 Dwb,N个白平衡和数字增益 每个原子是一个标量三元组 将字典中每一个原子...色调映射 通常设计为一维查找表(LUT),应用于每个色彩通道,以调整图像的色调值,或平滑步进 S 曲线。从 sRGB 重建 RAW 数据色调是一项挑战,尤其是在过曝区域和高动态范围图像中。...少量标注样本即可训练鲁棒模型 将传统的ISP用参数化方法建模,通过神经网络学习映射,实现了端到端的RGB2RAW和RAW2RGB (双向可逆) References https://github.com

    1.2K01

    ISUX译文 | The PBR Guide基于物理的渲染指引(下)

    当Base Color贴图中的值是指金属的反射值时,这些值应当采用真实世界中的测量值。这些值大概会有70-100%的镜面反射,映射到sRGB大概为180-255。...在线性空间中的换算,大部分非导体的F0值大概是0.02-0.05左右。 在sRGB中,我们会使用40-75 sRGB的范围,对应线性空间中0.02-0.05(2-5%)的区间。...普遍非导体的反射值为2-5%,在sRGB中,这个值大概在40-75之间,这个区间和0.02-0.05的线性空间范围是重叠的。 3. 普通宝石的反射值范围在0.05-0.17(线性空间)。 4....普通液体的反射值范围在0.02-0.04(线性空间)。 5. 而原始金属的反射值则可以高达70-100%的镜面反射,映射到sRGB约为180-255 sRGB。 6....普遍非导体材质的F0值会在2-5%之间,对应的是RGB范围为40-75,与0.02-0.05线性范围重合。 在图63中,你可以同时比较非导体的F0值和金属的反射值。

    1.9K20

    srgb的伽马值_srgb模式和标准模式

    srgb : 颜色值会以非线性的方式存储 如一个颜色值在线性空间中,rgb=(1,1,1), 在gamma空间中,rgb会变为(1的2.2幂次,1的2.2幂次,1的2.2幂次),颜色值会发生改变,这样方便在显示器中显示的时候...,正确显示(因为在显示器中显示时,会使得图像变暗) 如果一个图片的颜色格式为srgb,则说明这张图片存储的颜色值是encode gamma之后的颜色值 在unity中设置为gamma空间时,图片颜色值会在导入时变成非线性的颜色值...) 在早期,阴极射线管(CRT)显示器是唯一的电子显示设备,但它的输入电压和显示出来的亮度关系不是线性的,而是一个类似幂律(pow-law)曲线的关系,使得信号被压暗 巧合地是,sRGB标准的编码伽马是一个将图像变亮的幂率曲线...就是正确的。...如果输出的render target是sRGB格式,输出时要进行encoding gamma 输出时encoding gamma,会导致写入color buffer的颜色是非线性的,这样混合就发生在非线性空间中

    2.1K11

    微博HDR视频的落地实践

    我们将线性RGB颜色数据直接线性的转换成电信号传输不就可以了呢?也没有损失。 在实际工程中存在几个非常重要的问题:光电信号间转换按照什么规则映射或者编码颜色?...就如我之前介绍的那样,设备所有可以表达的颜色是XYZ空间一个子空间,是一个三维颜色体。正确的还原HDR视频的内容就需要做好颜色体之间的映射。...对于下变化来说,一般的处理流程是解码输出YUV和HDR的metadata,因为下变换的颜色映射只能在线性RGB空间进行,所以YUV需要还原回线性RGB才能进行处理,此时 YUV需要进行颜色上采样还原为光电转换后的非线性...RGB,然后应用电光转换函数将非线性RGB转到线性RGB。...查找表可以极大提升映射的效率。 具体到发布侧的处理流程是在导入视频素材帧的时候,对视频帧进行了亮度tonemap和色域的映射,将HDR的视频帧映射成SDR的视频帧,融入到现有的HDR编辑链路。

    1.8K31

    数字图像处理Matlab函数全汇总

    显示一个彩色RGB立方体 subimage 在单个图形中显示多幅图像 truesize 调整图像的显示尺寸 warp 将图像显示为纹理映射的表面 图像文件输入/输出 Dicominfo 从一条DICOM...Blkproc 为图像实现不同的块处理 Col2im 将矩阵列重排为块 Colfilt 按列邻域操作 Im2col 将图像块重排为列 Nlfilter 执行一般的滑动邻域操作 形态学操作(亮度和二值图像...Rgbplot 绘制RGB彩色映射分量 彩色空间转换 Applyform 应用独立于设备的彩色空间变换 Hsv2rgb 将HSV值转换为RGB彩色空间 Iccread 读ICC彩色配置文件 Lab2double...返回标准照明的XYZ值 Xyz2double 将XYZ彩色值转换为double类 Xyz2uint16 将XYZ彩色值转换为uint16类 数组操作 Circshift 循环地移位数组 Dftuv(DIPUM...将索引图像转换为亮度图像 Ind2rgb 将索引图像转换为RGB图像 Label2rgb 将标记矩阵转换为RGB图像 Mat2gray 将矩阵转换为亮度图像 Rgb2gray 将RGB图像或彩色映射转换为灰度图像

    2.1K20

    Shader经验分享

    的转置矩阵 UNITY_MATRIX_IT_MV UNITY_MATRIX_MV的逆转置矩阵,用于将法线从模型空间转换到观察空间 _Object2World将顶点方向矢量从模型空间变换到世界空间..._World2Object将顶点方向矢量从世界空间变换到模型空间,矩阵。 模型空间到世界空间的矩阵简称M矩阵,世界空间到View空间的矩阵简称V矩阵,View到Project空间的矩阵简称P矩阵。...* _Color.rgb;//反射率 法线贴图:xyz映射存成rgb值。...该设置unity有优化 rgb值不再是法线xyz的映射了,如果不设置的话要自己算 该公式不能用。...自动将NDC坐标下的深度映射(0,1)需要转换到(-1,1)veiw空间去计算 LinearEyeDepth(depth)负责把深度纹理的采样结果转换到视角view空间下的线性深度值 Linear01Depth

    2.7K40

    相机图像信号处理流程(ISP)

    Sensor最终的值是光强和曝光时间的线性函数,结合前面的人眼的敏感曲线,这个阶段其实是对真实世界的光辐射的一个捕捉,并没有结合人眼特性去处理。...白平衡(White-balance)和色彩空间变换(White-balance) 这个部分需要把raw—RGB转换到一个通用色彩空间,以供后续处理,文章以CIE XYZ为例,但是实际上常用ProPhoto...白平衡 第一个阶段即需要通过白平衡去矫正原来的raw-RGB的值。 首先要得到Sensor对于光照环境的RGB值,然后用这个对角矩阵变换,就可以得到白平衡之后的颜色。...基于这个假设将图像的平均作为灰色。...色彩空间转换 第二个阶段是将raw-RGB映射变换到CIE XYZ色彩空间。

    2.7K20

    HDR关键技术—色域映射

    ITU-R BT.2407中的简单色域映射方式 ? 图4 基于线性矩阵变换从BT.2020到BT.709的颜色转换 图4是从BT.2020到BT.709的基于线性矩阵变换的颜色转换的框图。...这种方法首先使用ITU-R BT.2087中规定的两个非线性到线性的传递函数(一种是电光转换功能函-EOTF,一种是逆光电转移函-OETF)之一,将归一化的非线性RGB信号转换为归一化的线性RGB信号。...接着通过矩阵运算,将BT.2020颜色空间的RGB信号转换到BT.709颜色空间的RGB信号。...最后再通过使用ITU-R BT.2087建议书规定的两种线非线性传递函数(一种是逆EOTF方法,另一种是使用OETF)之一将线性RGB信号转换为非线性RGB信号。...在这种算法中,目标色域被设置为sRGB,在转换到Lab时使用D65白点。同时,目标色域与白点也可以根据需求设置为其他值。输入色域则是输入的HDR图像所包括的颜色范围。

    10.9K53

    【Openxml】颜色变化属性计算

    #The_forward_transformation_.28CIE_xyY_or_CIE_XYZ_to_sRGB.29 /// /// sRgb + 0.055) / 1.055, 2.4); } RGB的反函数 以下为处理RGB的反函数的逻辑代码: private static Color HandleInverse...的伽玛校正和反伽玛矫正 伽玛校正  实际上就是显示器的非线性特性让亮度在我们眼中看起来更好, 但是在渲染时反而会因此导致问题....我们的渲染计算都是在伽马值为 1 的理想线性空间进行的,而显示器的非线性则是伽马值为 2.2计算的即为输入值的pow 2.2,伽马校正的思路就是在颜色被输送到显示器之前, 我们先对其进行 pow 1/2.2...的灰阶 不同的RGB空间,灰阶的计算公式有所不同,常见的几种RGB空间的计算灰阶的公式如下: //简化 sRGB IEC61966-2.1 [gamma=2.20] Gray = (R^2.2 * 0.2126

    1.2K30

    图像伽马校正_自动梯形校正

    3.Gamma校正 定义 伽马是显示器电光传递函数的一种,是指对线性三色值和非线性视频信号之间进行编码和解码的操作。...例子: OETF:拍到的照片,存在电脑里,就是把自然界中的光信号编码为视频信号 EOTF:查看照片时,就要把视频信号还原为线性的光信号,进行解码操作 线性空间(相机捕捉到的真实世界光信号) + gamma...编码 + 显示器显示 = 结果 左图为存在硬盘中,将捕获到的物理数据做一次gamma值约为0.4的映射 中间为显示图像时,需要为每一个像素做一次gamma值约为2.2的校正,来使的最终结果为正确的物理数据...理论上上边的中灰是物理量上(下边)的21.8%,视觉上认为的美术中灰色,大约是物理中灰色的20% Gamma校正就是一个把物理灰阶映射成美术灰阶的函数 为什么现实中看到的光强度变化是正确的,不能忠实的记录下来显示就行了...(可以在它的工作空间 的设置中进行更改,选择用灰度系数混合RGB颜色,参数设置为一,这样图层才是一个最终直接混合的结果 unity设置中修改 Linear空间 Gamma空间 参考资料

    1.9K20

    Shader-基础光照-漫反射光照模型

    Diffuse.png n表面法线和l指向光源的向量的单位向量点乘来表示余弦值,用max防止点乘结果为负数,防止物体被从后面来的光源照亮....,在每个顶点计算光照,在渲染图元内部进行插值.光照模型中出现非线性的计算时,会出现问题..... 2.通过Unity内置变量获取环境光部分 3.法线变换,将法线与变换矩阵的逆转置的矩阵进行矩阵乘法,得到正确的变换后的法线(在世界坐标下),这里法线是一个三维矢量,变换矩阵只需截取3x3即可...fixed3 color = diffuse + ambient; return fixed4(color, 1.0); } 我们将每次的计算放在...半兰伯特模型.png 我们对点乘结果进行α倍数的缩放在加上β的偏移,大多数情况下两个值为0.5 这样我们将[-1,1]映射到[0,1],在此模型下背光面也有明暗变化,此模型没有物理依据,仅作为视觉增强的效果

    1.2K20

    CVPR2021|单个网络支持sRGB渲染与RAW数据重建,港科大陈启峰团队提出可逆ISP

    现代数码相机通过ISP(它由一系列操作构成,包含白平衡、去马赛克、降噪、颜色空间转换、色调映射等)将RAW数据渲染为人眼可感知的RGB图像。...InvISP 我们的目标是:设计一种可逆、双摄函数 用于RAW数据空间与sRGB数据空间之间的映射。我们假设RAW数据空间为 ,sRGB数据空间为 。...为达到上述目的,经典神经网络需要两个独立网络近似 与 ,这会导致不精确的双摄映射。...对于本文的image-to-image转换任务,我们直接学习RAW-to-RGB映射,无需对隐分布进行显示建模以稳定训练。...考虑到可逆神经网络的输入与输出分辨率应当相同,我们采用去马赛克后RAW数据的双线性插值作为输入,这不会破坏RAW数据质量。 InvISP的前向过程生成sRGB图像,反向过程则旨在重建RAW数据。

    1.5K40

    iOS开发CoreGraphics核心图形框架之三——颜色与色彩空间

    iOS开发CoreGraphics核心图形框架之三——颜色与色彩空间 一、引言     颜色的实质是表示颜色的二进制数据,如果没有确定的规则,则这些二进制数据完全没有意义。...所谓色彩空间,即是表示这些颜色数据信息是如何解释的。同样的一张图片,在不同的色彩空间下,其渲染的模样将有很大的不同。...二、关于CGColor相关方法的解析     CGColorRef是CoreGraphics框架中用于描述颜色的引用类型,其中常用方法解析如下: //根据色彩空间创建一个CGColorRef实例 /*...kCGColorSpaceROMMRGB; DCI P3 色彩空间 kCGColorSpaceDCIP3; 扩展的sRGB色彩空间 kCGColorSpaceExtendedSRGB; 线性sRGB色彩空间...kCGColorSpaceLinearSRGB; 扩展的线性sRGB扩展空间 CFStringRef kCGColorSpaceExtendedLinearSRGB; 扩展的黑白色彩空间 CFStringRef

    1.6K40
    领券