色彩空间学习笔记——关于RGB/sRGB/XYZ/Lab/Luv那点事儿(一)

详解RGB和XYZ色彩空间转换之中篇 首先需要指明本文中描述的R,G,B并非通常的sRGB中的三个分量R',G',B',而是波长分别为700nm,546.1nm,435.8nm的单色红光,单色绿光,单色蓝光。sRGB中的R'G'B'中的红色、绿色、蓝色已经不是单色光了。虽然习惯上大家都叫RGB,但是需要有所区别。本文将分别从为什么需要这种转换,怎么进行这种转换进行阐述。 阅读详情
AI摘要

本文介绍了色彩空间的不同形式,如R1G1B1和R2G2B2,通过格尔斯曼定律和线性代数探讨了不同色彩空间之间的转换,重点讲解了sRGB和XYZ色彩模型,以及人眼视觉特性在色彩转换中的作用。,

写在前面:什么是色彩空间?

        条条大路通罗马,就像我们可以用5+5来表示10,也可以用2x5来表示10,甚至是20-10也可,同样一种颜色,也可以用不同形式来表示。不同的形式有不同的优缺点,对于色彩空间来说,不同的空间能表示的色域是不同的。

        用一个例子可以很好的理解不同的色彩空间以及他们之间的区别:假设有两个色彩空间,它们分别是R1 G1 B1和R2 G2 B2。现在我们的目标是,找到两个色彩空间之间的映射关系。现在我们已知R2 G2 B2 [1 0 0]的颜色情况,还有一个R1 G1 B1的显色器,若我把R1 G1 B1也设置成[1 0 0],会出现这么个情况:(上标表示的是R1 G1 B1,下标表示的是R2 G2 B2)

        显然,这两个不同的色彩空间,那么通过调整R1 G1 B1,也可以使两种颜色一样,只不过确实要慢慢试:

        那么根据此,我们可以得到以下的关系式:

R1 = R2 * 0.712

G1 = R2 * 0.100

B1 = R2 * 0.024

        对R2 G2 B2 [0 1 0]和R2 G2 B2 [0 0 1]也是同理:

        得到的关系式就分别是:

R1 = G2 * 0.221    R1 = B2 * 0.067

G1 = G2 * 0.690    G1 = B2 * 0.210

B1 = G2 * 0.000    B1 = B2 * 0.975

        目前我们只知道R2 G2 B2为纯色的时候,R1 G1 B1分别要显示的量,那么如何确定非纯色的时候,R1 G1 B1要如何分配呢?比如说R2 G2 B2[0.9, 0.5, 0.2]的时候?

        这个时候就要祭出我们的色觉尚方宝剑,格尔斯曼定律(Grassmann's laws),其内容是:人类对色彩的感知是线性的,即如果两个颜色的光匹配,此时添加另一组匹配的光,他们的总和也是匹配的。这里的匹配是指在一个色彩空间当中。

(详情可以看:https://en.wikipedia.org/wiki/Grassmann%27s_laws_(color_science))

        也就是说,我们已经知道R1 G1 B1分别与R2、G2、B2的关系,那么要求R1 G1 B1与R2 G2 B2的关系,我们只需要将其线性相加即可:

R1 = 0.712 * R2 + 0.221 * G2 + 0.067 * B2

G1 = 0.100 * R2 + 0.690 * G2 + 0.210 * B2

B1 = 0.024 * R2 + 0.000 * G2 + 0.976 * B2

        那么我们解决上面的问题,当R2 G2 B2[0.9, 0.5, 0.2]时,把数值带入上式,得到其对应的R1 G1 B1为[0.765, 0.477, 0.217],来验证一下:

        Amazing!我们再来进一步深入,那么假如我知道R1 G1 B1的值,要求R2 G2 B2对应值咋办呢,解一个三元一次方程也不是不行,我幼儿园的表弟也是这么想的。其实这里如果引入线性代数的知识,一切都会简单很多。

        R1 G1 B1与R2 G2 B2的关系可以表示成:

        那么根据小学二年级的线性代数知识,两边同时左乘A矩阵的逆,就可以得到:

        那么求出A矩阵的逆之后,不难得到:

        什么?你不会求矩阵的逆?哪里难了,有的时候找找自己的原因,这么多年了知识涨没涨,有没有认真学习(狗头

        不废话,至此,运用了线性代数的知识后,我们不难发现,所谓不同的颜色空间之间的转换,无非就是向量基之间的转换罢了,我想这个概念应该学过线代的都很熟悉。那么如果把R1 G1 B1作为标准坐标系,绘制出的R2 G2 B2如图。并根据上面推出的关系绘制出的立体空间,空间内的任意一点都能表示一种颜色。那么显然,R1 G1 B1的立体空间更大,证明R1 G1 B1色彩空间中包含的颜色也会更多。

        如果把R2 G2 B2作为标准坐标系,绘制出R1 G1 B1坐标系,得到的结论也是一样的:

        (如果觉得图很抽象看不懂,可以去这个网站里自己体验一下:https://ciechanow.ski/color-spaces/)

sRGB

        sRGB全称standard Red Green Blue,是一些影像巨头共同开发的一种彩色语言协议,其换算的公式本质就是一个γ值为2.2的gamma变换。至于为什么是2.2,这个和CRT(阴极射线管)显示器的工作原理相关了,不同的显示器gamma值也会不同,这里先按下不表。gamma变换的公式为S=x^{ \gamma },如图:

        如图,例如一个像素的RGB值为[0.1, 0.2, 0.3],那么输出的sRGB就是[0.1^{2.2},0.2 ^{2.2},0.3^{2.2}],简单易懂嗷兄弟们。

        当然对此也有更深的理解,本科学过CV或者数字图像处理的同学应该知道,gamma变换通常与图像的对比度挂钩。当γ值大于1的时候,图像是整体变暗的。看起来和RGB没啥区别,那为什么好好的RGB不用,偏要整个sRGB出来呢?

        这是因为我们人眼的视觉规律是非线性的,即人眼对暗域的变化更加敏感,下面来一个生动形象的例子:已知下面两张图最左边的色块和最右边的色块RGB分别为[0 0 0]和[255 255 255],请问中间一部分的色块哪块最接近[128 128 128]?

        我问了我身边的一些非相关专业的同学,基本都是选择了上面的左3和下面的第5个。如果结果和这个差不多朋友,恭喜你,你的眼睛是正常的。但是实际情况是什么?

​
RGB(上)与 未归一化sRGB(下)

        如果非说要有个正确答案,那是图一的第5个和图二的右3。通过这个例子应该不难理解,人眼会觉得图一右侧的四张图亮度的差距会比左侧四张图的差距小,换句话说就是人眼对暗处的亮度变化更加敏感。而图二正是图一的RGB转成sRGB后的情况,所以人眼会觉得中间才是最接近[128 128 128]的,很好的证明了sRGB是符合人眼特性的。

XYZ

        XYZ是另一种表示颜色的方法,也叫三刺激值。在了解XYZ的由来以及含义前,非常有必要先知道,人眼是如何感知颜色的。目前大多人认可的是“阶段学说”,在人类的视网膜上有三种不同的感光锥体,因此可以使用三种颜色(但不是我们说的三原色RGB,至于为什么不是我下面解释)进行混加使得大脑呈现所有的颜色。当然混加也不是单纯的线性,而是一个复杂过程,这里有机会再深入学习一下(给自己挖个坑立个flag)。

        重要的是,人类视觉系统的三色性,到底是哪三色?CIE为了探究这个答案,做了人眼色觉匹配实验,得到了如下图的结果。x轴是不同波长,y轴是归一化后的强度。

        第一眼看这图,咋还有负数,这部瞎扯淡嘛,虚空的红?其实这就是为什么人类视觉系统的三色性中的三色(下面就简称三色)不是RGB的原因。

        首先这张图的x坐标代表的是波长,在小学二年级的光学里我们就知道,对应于单一波长的颜色称为光谱颜色,也就是说,这个是我们定义颜色(无论在你脑子呈现的是什么颜色),例如波长为570nm的电磁波它就是纯黄色。这里有一点要注意,颜色之间没有一个硬性的界限,说过了这个波长它就是什么颜色,也就不存在单一的“光谱红色”。所以说了那么多p话,总结一句就是,如果把RGB作为三色,就会出现这样的负数问题证明普通RGB真不行。

        我来举个例子:回顾一下我一开始举的两个色彩空间的例子,R1 G1 B1和R2 G2 B2,我们知道,R1 G1 B1色彩空间包含的颜色是比R2 G2 B2大的,那么如果R1 G1 B1为[1 0 0],我怎么用R2 G2 B2来表示呢?你会发现,就算R2拉满,仍然不够红,如果把数据直接带到公式里面计算,则R2 G2 B2就为[1.471, -0.471, 0]。R2超出了1很好理解,就是R2 G2 B2颜色空间中的红不够嘛。这个负数就很抽象了,他与上面实验出现的负数有着异曲同工之妙。

​
R2 G2 B2 [1 0 0]      R1 G1 B1 [1 0 0]

        上图是R2 G2 B2[1 0 0]和R1 G1 B1[1 0 0],显然,左边是不够红的,但其实也可以理解成,右边是不够绿的,那么我们可以再右边加上一点绿,直至两边的颜色看起来相同,用式子能更直观:

1.0 * R1 + 0.0 * G1 + 0.0 * B1 = (TARGET) + 0.2 * G1

(我们随便假设是0.2吧,反正就是适量)

        然后我们再将式子进行移项,也就可以得到:

1.0 * R1 + 0.0 * G1 + 0.0 * B1 - 0.2 * G1 = (TARGET)

        通过阅读式子,我们可以知道,要想将左侧的颜色与右侧的目标颜色匹配,则需要在左边加上负量的绿光。从线性代数的知识也能理解,我们回顾一下这张图:

        如果颜色点在R1 G1 B1和R2 G2 B2点内,那么不会出现负量的情况。但如果颜色点在R1 G1 B1内,在R2 G2 B2外,显然,R2 G2 B2一定会出现负数才能表示该颜色点。

        当然,负量在现实世界上是无法做到的,就像XYZ一样(虽然XYZ色彩空间也不存在负量),不存在一个特定的颜色能表示XYZ或者说负量是没有实际物理意义的,但是很多的颜色空间都是数学模型,从数学上来说是完全可行的,只要我们最后再将这个色彩空间转换回物理显示器能显示的色彩空间(比如说sRGB)就可以了。实际上图像的传输也确实是这个流程。

        我们回到正题,CIE将实验的R光波长定为为700.0 nm,G光为546.1 nm,B光为435.8 nm。我以570 nm作为例子,从颜色匹配图中可以看出,匹配570nm对应的颜色需要 0.16768 个单位的 R、0.17087 个单位的 G 和 -0.00135 个单位的 B。一组三个 RGB 坐标可以表示成一个三位的坐标,那么把所有的颜色都绘制在一个三维的坐标系上,可以得到下图的结果:

        一条优美的曲线!只不过有负量存在,那么为了将这个“人眼色觉”空间转化成一个合理的色彩空间(这里的合理一是指没有负量,二是指将色度和亮度分离),CIE创建了以下方程组:

X = 2.769×R + 1.752×G + 1.130×B

Y = 1.000×R + 4.591×G + 0.061×B

Z = 0.000×R + 0.057×G + 5.594×B

        其中选Y分量是亮度分量,而 X 和 Z 定义色度。

        把XYZ作为直角坐标系,能更直观的看出这个色彩空间是合理的(主要是没有负量)。

        至此,咱们就有一个基准颜色空间了,即任意两个色彩空间,我们现在不需要知道他们之间是如何转换的,只需要能够将它们都转换到 XYZ 空间就行了。

(未完待续)

参考:

[1] https://ciechanow.ski/color-spaces/

[2]

https://www.youtube.com/watch?v=cGyLHxn16pE&list=RDCMUCnUYZLuoy1rq1aVMwx4aTzw&start_radio=1&t=10s

[cv] 颜色空间模型 RGB, HSV,HLS,YCbCr,LUV RGB RGB色彩就是常说的光学三原色,R代表Red(红色),G代表Green(绿色),B代表Blue(蓝色)。自然界中肉眼所能看到的任何色彩都可以由这三种色彩混合叠加而成,因此也称为加色模式。 HSV HSV 表达彩色图像的方式由三个部分组成: Hue(色调、色相) Saturation(饱和度、色彩纯净度) Value(明度) 用下面这个圆柱体来表示 HSV 颜色空间,圆柱体的横截面可以看做是一个极坐标系 , H 用极坐标的极角表示,S 用极坐标的极轴长度表示,V 用圆柱中轴的高度表示。 HLS H 阅读详情

相关推荐

详解RGB和XYZ色彩空间转换之上篇

首先需要指明本文中描述的R,G,B并非通常的sRGB中的三个分量R',G',B',而是波长分别为700nm,546.1nm,435.8nm的单色红光,单色绿光,单色蓝光。sRGB中的R'G'B'中的红色、绿色、蓝色已经不是单色光了。虽然习惯上大家都叫RGB,但是需要有所区别。本文将分别从为什么需要这种转换,怎么进行这种转换进行阐述。

YDY5659150的专栏 3995

RGB格式学习:RGBx、xRGB、RGBA、ARGB等格式转换成RGB

在使用gstreamer的过程中经常遇到各种类型的RGB格式图像。来看看各种格式有什么关系。RGB类型格式在内存中各个分量都是依次排序的。排序方式都是和命名方式的位置顺序是一致的,且各个分量都是占一个字节的大小。下面列出RGB的详细信息。 "RGB" +--+--+--+ +--+--+--+ |R0|G0|B0| |R1|G1|B1| ... +--+--+--+ +--+--+--+ Component 0: R depth: 8 pstride:

此心安处是吾乡的博客 1万+

从实验到标准:揭秘CIE颜色空间的诞生与核心原理

本文深入解析CIE颜色空间的诞生历程与核心原理,从1931年的颜色匹配实验到XYZ色彩空间的数学转换,再到现代均匀色彩空间CIE Lab和CIE Luv的应用。揭示了CIE如何通过科学实验和工程智慧解决颜色表示中的负值问题,并建立国际通用的颜色标准,影响至今的摄影、印刷、显示等行业。

weixin_28630185的博客 284

流媒体之色彩转换——常见色彩格式RGBX、YUV420和YUV422

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

一步的专栏 1万+

色度工具套件设计实战:XYZ/xy转换、CCT/Duv与常见排错

色彩管理中的色度计算,本质是把RGB、光谱等不同来源的颜色数据统一到CIE XYZ/xy等可比较空间,再用u'v'、CCT与Duv等指标把坐标翻译成可判断的物理量。xy由三刺激值归一化而来,会丢弃亮度且平面不均匀;u'v'更适合差异判定,CCT必须与Duv成对报告,白点、CMF版本、光谱积分步长和色适应处理都会直接影响结果。其技术价值在于降低仪器台间差与阈值误判,让显示屏、灯具、摄像头模组、印刷打样和LED分光分色的色度数据可复现、可比较。CieChromaticity类工具套件通过分层实现空间转换、色温分

weixin_42548874的博客 30

色差ΔE详解:从色彩科学到工业应用的全方位指南

在色彩科学和工业品控领域,精确量化颜色差异是确保视觉一致性的核心需求。色彩空间作为描述颜色的数学模型,其均匀性是实现准确度量的基础。CIE Lab色彩空间因其感知均匀性,成为色差计算的主流标准。色差(ΔE)作为衡量两个颜色视觉差异的量化指标,其技术价值在于将主观的色彩判断转化为客观数据,极大提升了跨媒介色彩沟通的效率和准确性。在工业应用中,ΔE是印刷、纺织、涂料等行业进行色彩品质控制的关键依据,也是显示器校准、摄影后期等数字工作流中确保色彩还原度的核心参数。本文深入解析ΔE76、ΔE94和ΔE00等主流色差

weixin_30587927的博客 700

色度学基础:从CIE XYZ到色彩管理,掌握颜色一致性的核心技术

颜色是光、物体与人眼视觉系统共同作用的结果,其本质是物理光谱的客观属性。色度学作为一门将主观颜色感知进行客观量化的科学,通过CIE XYZ色彩空间等模型,为颜色的定义、测量和重现提供了标准化的数学框架。理解光谱功率分布、人眼三色感应等核心原理,是构建精确色彩再现系统的技术基础。在工程实践中,这一理论的价值在于解决跨设备、跨媒介的颜色一致性问题,例如确保设计稿在屏幕显示与印刷成品间保持一致。通过应用ICC Profile和色彩管理流程,可以将色度学理论落地于专业工作流,有效避免常见的颜色偏差问题,提升从摄影后

weixin_33798152的博客 552

别再只懂RGB了!从显示器到打印机,聊聊CIE颜色空间到底怎么用

本文深入探讨了CIE颜色空间在跨设备色彩管理中的核心作用,从显示器校准到印刷品质量控制,详细解析了CIE XYZ、Lab和Luv三大空间的原理与应用场景。通过实战案例和工具推荐,帮助设计师和工程师解决色彩不一致问题,实现从RGB到专业色彩管理的跨越。

weixin_28630185的博客 108

色彩特性实验

色彩特性实验第一章 要求二级目录三级目录第二章 色彩空间2.1 色彩空间2.2 sRGB色彩空间2.3 CIE Lab色彩空间2.4 sRGB与CIE Lab的转换2.4.1 sRGB到CIE XYZ的变换2.4.2 CIE XYZ到CIE Lab的转换第三章 实验代码3.1 流程图3.2 爱色丽色卡程序代码3.3 拍摄色卡程序代码3.4 测试色卡的两次框选3.4.1 第一次框选3.4.2 第二次框选3.5 计算Ca * b *3.6 计算色差3.7 显示色差第四章 图形用户界面及实验结果4.1 图形用户界

weixin_45095281的博客 1969

41、色彩与图像的深度解析

本文深入解析了色彩与图像的核心概念,涵盖色彩温度与心理冷暖色的区别、白点与白平衡的原理及调整流程、加法与减法色彩空间的特性与转换机制,并详细介绍了HSV和HSL圆柱色彩模型的数学定义与视觉意义。在图像方面,探讨了相机的射影几何模型、不同角度与距离下的成像特征,以及通过消失点进行透视深度推断的方法,阐述了透视缩小与缩短现象及其在照片法医分析中的应用。文章为色彩校准、图像拍摄与后期处理提供了理论基础。

brandy的博客 96

【QT opencv】基础应用之颜色空间(附有调色板源码)

opencv默认使用BGR格式读取图像,随着图像技术的发展,不同的专业领域使用了不同的颜色空间,为了适配及简化转换过程,opencv提供了很多颜色空间转换的方法。本文内容主要来自AI,整理了与颜色空间相关的知识点,同时篇尾提供一个QT开发的调色板工具,资源中可下载源码。

ocy的博客 1009

OpenCV 颜色空间转换权威指南:imgproc 模块 cvtColor 的数学原理、转换码与实战要点

OpenCV 的 imgproc 模块将颜色转换集中封装在 `cv::cvtColor` 函数中,由 `cv::ColorConversionCodes` 枚举提供 150+ 种转换码,覆盖 RGB/BGR、灰度、CIE XYZ、YCrCb、带色度抽样的 YUV(4:2:0/4:2:2)、HSV、HLS、CIE Lab、CIE Luv 以及 Bayer 去马赛克等全套色彩空间。本文以 OpenCV

gitblog_00285的博客 421

8、图像预处理:色彩与滤波技术解析

本文深入探讨了图像预处理中的核心技术和方法,涵盖色彩科学与空间滤波两大领域。内容包括国际标准色彩资源、色彩管理系统、光源与设备色彩模型、色域映射与渲染意图,并详细解析了RGB到灰度的转换方法及色彩准确性问题。在滤波技术方面,系统介绍了卷积滤波、核滤波、形状选择和点处理的操作流程与应用场景,结合HSV色彩空间下的图像锐化实例,展示了色彩与滤波的综合应用。同时对不同滤波方法进行了比较,并提出了点处理的优化思路,最后展望了图像预处理技术在深度学习与跨学科融合中的发展方向。

jj890的博客 49

数字媒体技术基础:CIE 1931 XYZ 颜色空间

CIE 1931 XYZ 颜色空间是现代色彩科学的重要基础,它由国际照明委员会(CIE)于1931年建立,旨在准确描述人眼对颜色的感知。XYZ 颜色空间的设计基于早期对人类视觉系统的实验研究,特别是通过光谱数据来模拟人眼的三种感色锥细胞(对应红、绿、蓝三色)的响应。一、背景与原理CIE 1931 XYZ 颜色空间的出现,是基于当时对人类视觉感知的深入研究。在 1920 年代,科学家们发现了人眼对不...

qq_41176800的博客 2410

5种主流触觉传感器对比:GelSight、DIGIT、Taxim、GelSlim和TACTO如何选?

本文深度解析了GelSight、DIGIT、Taxim、GelSlim和TACTO五款主流触觉传感器的技术原理与核心特性。通过对比视觉传感与电学传感两大技术路径,为机器人灵巧抓取、精密检测等应用场景提供清晰的选型决策指南,帮助开发者根据项目需求在分辨率、响应速度、集成度与成本之间找到最佳平衡。

Black的专栏 931

SAP SD信贷管理实战:从配置到风险控制的完整指南(附后台路径)

本文详细解析了SAP SD信贷管理的完整配置流程与风险控制策略,涵盖信贷控制范围设置、风险分级机制及动态控制配置。通过实战案例和后台路径指引,帮助企业实现从客户信用评估到实时监控的全流程管理,有效降低坏账风险并优化资金安全。

3a9bq4r8t2y的博客 213

终极指南:如何使用ImageSharp的ColorSpaceConverter实现专业级色彩校正

ImageSharp是一个功能强大的.NET图像处理库,其中的ColorSpaceConverter色彩空间转换器能够帮助开发者实现专业级的色彩校正和色彩管理。通过精确的色彩空间转换,您可以确保图像在不同设备和显示环境中的色彩一致性。 ## 🎨 什么是色彩空间转换? 色彩空间转换是图像处理中的核心技术之一。在ImageSharp中,ColorSpaceConverter类提供了完整的色彩空间

gitblog_00363的博客 533

Logstash安装部署

1. 部署及安装所用的用户不能是root。

lmj3732018的博客 4294

Colour科学库入门指南:Python色彩处理的终极解决方案

Colour是一个强大的Python色彩科学库,专为色彩科学与工程领域设计,提供了全面的色彩处理工具和算法。无论是数字成像、影视制作还是色彩研究,Colour都能帮助开发者轻松实现专业级的色彩管理与分析。本指南将带你快速掌握这个终极色彩解决方案的核心功能和使用方法。 ## 🎨 为什么选择Colour科学库? 在数字色彩处理领域,精准的色彩模型转换、色彩差异计算和视觉感知模拟至关重要。Colo

gitblog_01112的博客 409

华为OD机考真题 新系统 9月23号 【世界杯徽章换购】多语言题解

华为OD机试真题 新系统【世界杯徽章换购】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【世界杯徽章换购】多语言题解。

qq_45776114的博客 691

Flutter应用安卓逆向之hook分析研究---附dart版本对照表(必看篇)

搜索md5、rsa、aes等关键字分析要破解的加密算法,使用frida进行hook可疑函数的偏移地址。,双击进去找到ssl_crypto_x509_session_verify_cert_chain函数的偏移地址进行hook掉;Flutter应用是内置进行ssl证书校验的,无法通过常规方法抓到包,需要通过frida把它内置的ssl校验hook掉。重构完成后会生成新的apk,把它安装到模拟器或者真机中并打开运行,此时系统会在。关键字的函数进行hook(因为其返回的是字符串类型)中,拖进ide搜索字符串。

云霄IT的博客 8441

Palette入门指南:5分钟学会Rust颜色空间转换

Palette是Rust生态中一个功能强大的颜色管理和转换库,专注于线性颜色计算和转换。无论你是图形开发者、UI设计师,还是需要处理颜色数据的Rust程序员,Palette都能帮助你轻松实现颜色空间转换和颜色操作。本文将为你提供一份完整的Palette入门指南,让你在5分钟内掌握这个强大的Rust颜色库。 ## 🎨 什么是Palette库? **Palette**是一个专注于线性颜色计算和转

gitblog_00023的博客 1035

SAP Retail 补货里的 Requirement Groups,站点和商品太多时,主数据维护如何做减法

SAP Retail补货主数据设计中,Requirement Groups(需求组)是常被低估但至关重要的分类机制。它通过将具有相同补货需求的接收方(如门店)按商品分类(Merchandise Category)分组,大幅降低主数据维护量。在大型零售场景中(如800家门店、6万商品),直接维护每个门店和商品的组合参数会导致维护量失控。Requirement Groups允许企业按品类特性(如乳制品、饮料等)为不同门店组设置统一补货参数,并随业务变化灵活调整。该机制与商品分类紧密绑定,不同于MRP Group

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 68

从 Changelog 看 go-colorful v1.2.0:lazydocker 终端取色依赖链中的色彩计算升级

lazydocker 通过 TUI 框架 tcell 间接依赖 `github.com/lucasb-eyer/go-colorful` 完成终端颜色的计算与近似匹配。本文以 vendored 依赖 [CHANGELOG.md](https://link.gitcode.com/i/cf6977e9e0c6465fb9ef6501c023efef) 为主线,完整梳理该库各版本变更,并结合 vend

gitblog_00386的博客 262

2026年VIVO嵌入式岗位高频面试题(含参考答案)

摘要:VIVO嵌入式岗位考核涵盖智能手机、IoT设备、芯片适配等方向,重点考察硬件底层交互、RTOS/Linux开发、C/C++功底与问题排查能力。题目按优先级排序,分硬件架构、RTOS、C/C++、数据结构、Linux实践、行业认知6大模块,共40道题。硬件部分涉及中断、ARM架构、加速技术、BSP开发等;RTOS部分区分硬/软实时系统;C/C++部分侧重内存管理、位操作;Linux部分考察常用命令;行业部分关注鸿蒙等系统理念。题目设计贴合实际工作场景,全面评估嵌入式开发能力。

Open 52

Linux | Ubuntu18.04安装WIFI6 AX201驱动完整教程

本节介绍了如何在Ubuntu18下安装AX201驱动的教程。

九七的博客 8882
上一篇: 学习笔记——色准(ΔE)/ 如何量化色差
multiflora2
博客等级 码龄6年 4粉丝 2原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值