问题标签 [cielab]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 用于比较 Cielab 颜色的 Delta E 函数的返回值间隔是多少?
我正在尝试使用 python colormath(delta_e_cie2000 等)中的 Delta E 函数将 Cielab 颜色的比较值转换为概率分布。问题是,我在 Delta E 函数上找不到任何参考,告诉我什么区间 [min, max],返回值是元素。
例如红色和蓝色两种 SRGB 颜色的结果:
是 52.880。
如果间隔是 [0,100],我可以除以 100 以将其标准化为 [0,1] 之间的数字。
有人知道参考或知道如何确定最小值和最大值吗?我不想通过随机化颜色并尝试找到阈值来迭代测试它。
python - 图像中唯一 CIELab 颜色的数量
我有一张在 CIELab 颜色空间中表示的图像。如何返回图像包含的唯一 CIELab 颜色的数量?
谢谢。
c# - RGB/XYZ和XYZ-LAB色彩空间转换算法
我试图将 RGB 颜色空间转换为 CIE-LAB 颜色空间。但是有一个错误。
- 输入 RGB 值 = (50,125,50)
- 收到的结果 LAB 值 = (41,-38,34)
LAB 值应为 (46.41,-39.24,33.51)
我从http://colorizer.org/检查了这个值
我在哪里做错了?
如果您检查以下代码并回答我。我会很高兴的。谢谢。
c# - LAB 到 XYZ 和 XYZ 到 RGB 颜色空间转换算法
我试图将 CIE-LAB 颜色空间转换为 RGB 颜色空间。但是有一个错误。
- 输入 LAB 值 = (46.41,-39.24,33.51)
- 收到的结果 XYZ 值 =(-2,641482,15,57358,-5,368798)
- 收到的结果 RGB 值 = (-791,4557,135,8615,-271,5485)
XYZ 值应为 (9.22,15.58,5.54) RGB 值应为 (50,125,50)
我从http://colorizer.org/检查了这些值
我在哪里做错了?
如果您检查以下代码并回答我。我会很高兴的。谢谢。
我将 RGB 转换为 XYZ 并将 XYZ 转换为 LAB 颜色空间转换。您可以使用以下链接进行检查。
python - 使用 python OpenCV 将单值颜色转换为 LAB
我有一个 numpy 数组,其中包含浮点 RGB 中的单个像素/颜色。我需要将此值转换为 LAB,为此我正在尝试以下操作:
color = cv2.cvtColor(color.reshape((1,1,3)), cv2.COLOR_RGB2LAB).reshape((3))
颜色在哪里:
array([137.38841, 161.38841, 65.38841], dtype=float32)
得到的 LAB 是:[100. 0. 0.]
这显然是不正确的,因为它应该接近:[62.667494977600484, 22.98637993404601, 46.1397720707445]
如何将值转换为 LAB?
color-space - 从 XYZ 转换为 CIELAB 时,对于发射源,您是否需要用白点划分?
当从 XYZ(CIE 1931 颜色空间)转换为 L*a*b* (CIELAB) 时,您可以在此处找到例如https://en.wikipedia.org/wiki/CIELAB_color_space的公式,指定您应该除以“参考光源”(照亮场景的灯?)的白点的 XYZ 值。
我的 XYZ 坐标来自发射源,因此场景中没有光源。因此,当涉及光源时,我可以理解这一点,因为产生 XYZ 值的总和/积分包含光源。但我只是找不到除这些公式之外的任何其他公式,它们都假设为光源。
python - 是否可以使用 Lab 颜色空间来分割某些颜色?
我知道分割某些颜色的最简单方法是使用 HSV 颜色空间,但我有一个任务要在 HSV、RGB 和 Lab 中完成……我真的很困惑如何在 Lab 中完成。我是在 HSV 中完成的,它非常简单。这是使用 HSV 颜色空间分割人类颜色的函数
现在我被困在 Lab 色彩空间中,我不确定从哪里开始。我尝试了类似于人类颜色上限和下限的方法,但显然这不是正确的方法。
python - Tensorflow CIELAB 颜色空间边界
我有以下脚本,它以 RGB 格式获取图像并将其转换为 Lab 颜色空间:
LAB 空间是三维的,涵盖了人类颜色感知的整个范围或色域。它基于人类视觉的对手颜色模型,其中红色/绿色形成对手对,蓝色/黄色形成对手对。亮度值 L*,也称为“Lstar”,定义黑色为 0,白色为 100。a* 轴相对于绿色-红色对立颜色,负值朝向绿色,正值朝向红色。b* 轴代表蓝黄色的对手,负数代表蓝色,正数代表黄色。
a* 和 b* 轴是无界的,根据参考白色,它们很容易超过 ±150 以覆盖人类色域。然而,出于实际原因,软件实现通常会限制这些值。例如,如果使用整数数学,通常将 a* 和 b* 限制在 -128 到 127 的范围内。
为什么不是0 <= lab[:, :, 0].min() <= lab[:, :, 0].max() <= 100
真的?