问题标签 [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.

0 投票
1 回答
506 浏览

python - 用于比较 Cielab 颜色的 Delta E 函数的返回值间隔是多少?

我正在尝试使用 python colormath(delta_e_cie2000 等)中的 Delta E 函数将 Cielab 颜色的比较值转换为概率分布。问题是,我在 Delta E 函数上找不到任何参考,告诉我什么区间 [min, max],返回值是元素。

例如红色和蓝色两种 SRGB 颜色的结果:

是 52.880。

如果间隔是 [0,100],我可以除以 100 以将其标准化为 [0,1] 之间的数字。

有人知道参考或知道如何确定最小值和最大值吗?我不想通过随机化颜色并尝试找到阈值来迭代测试它。

0 投票
1 回答
29 浏览

python - 图像中唯一 CIELab 颜色的数量

我有一张在 CIELab 颜色空间中表示的图像。如何返回图像包含的唯一 CIELab 颜色的数量?

谢谢。

0 投票
1 回答
944 浏览

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/检查了这个值

我在哪里做错了?

如果您检查以下代码并回答我。我会很高兴的。谢谢。

0 投票
1 回答
1535 浏览

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 颜色空间转换。您可以使用以下链接进行检查。

RGB/XYZ和XYZ-LAB色彩空间转换算法

0 投票
1 回答
1278 浏览

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?

0 投票
2 回答
280 浏览

color-space - 从 XYZ 转换为 CIELAB 时,对于发射源,您是否需要用白点划分?

当从 XYZ(CIE 1931 颜色空间)转换为 L*a*b* (CIELAB) 时,您可以在此处找到例如https://en.wikipedia.org/wiki/CIELAB_color_space的公式,指定您应该除以“参考光源”(照亮场景的灯?)的白点的 XYZ 值。

公式

我的 XYZ 坐标来自发射源,因此场景中没有光源。因此,当涉及光源时,我可以理解这一点,因为产生 XYZ 值的总和/积分包含光源。但我只是找不到除这些公式之外的任何其他公式,它们都假设为光源。

0 投票
1 回答
108 浏览

python - 如何以感知均匀性对 HSV 空间进行采样

我可以这样采样 HSV 空间(固定sv

然而,所有这些颜色在感知上并不统一

在此处输入图像描述

我可以通过运行 colormath 包中的 deltaE2000 方程 (delta_e_cie2000) 来确认这一点。结果如下所示:

在此处输入图像描述

这些值是 deltaE 值,颜色 0-15 对应于色调角度位置。如您所见,有些颜色低于感知阈值

在此处输入图像描述

所以,问题是,我是否可以用sv固定对 hsv 空间进行统一采样?如果不是,我怎样才能对空间进行采样,使颜色排列为具有色调相似性的邻居,s并且v尽可能少地变化?

0 投票
1 回答
644 浏览

python - 是否可以使用 Lab 颜色空间来分割某些颜色?

我知道分割某些颜色的最简单方法是使用 HSV 颜色空间,但我有一个任务要在 HSV、RGB 和 Lab 中完成……我真的很困惑如何在 Lab 中完成。我是在 HSV 中完成的,它非常简单。这是使用 HSV 颜色空间分割人类颜色的函数

现在我被困在 Lab 色彩空间中,我不确定从哪里开始。我尝试了类似于人类颜色上限和下限的方法,但显然这不是正确的方法。

0 投票
2 回答
108 浏览

c++ - 生成使用颜色检查器生成的 imatest 颜色错误图表的背景?

我很难找到使用 imatest 制作的以下情节的背景。基本上我想知道的是,我如何或从哪里可以找到这个情节的背景。imatest 网站提到,图表的颜色是在恒定的 Luminance L* = 90和varing 下生成的a* and b* from -80 to +80。我一直在寻找 Lab 颜色生成器,但所有软件都会生成彩色点。但我想通过改变 a 和 b 值来获得连续图像。任何的想法?

在此处输入图像描述

0 投票
1 回答
330 浏览

python - Tensorflow CIELAB 颜色空间边界

我有以下脚本,它以 RGB 格式获取图像并将其转换为 Lab 颜色空间:

维基 CIELAB 色彩空间

LAB 空间是三维的,涵盖了人类颜色感知的整个范围或色域。它基于人类视觉的对手颜色模型,其中红色/绿色形成对手对,蓝色/黄色形成对手对。亮度值 L*,也称为“Lstar”,定义黑色为 0,白色为 100。a* 轴相对于绿色-红色对立颜色,负值朝向绿色,正值朝向红色。b* 轴代表蓝黄色的对手,负数代表蓝色,正数代表黄色。

a* 和 b* 轴是无界的,根据参考白色,它们很容易超过 ±150 以覆盖人类色域。然而,出于实际原因,软件实现通常会限制这些值。例如,如果使用整数数学,通常将 a* 和 b* 限制在 -128 到 127 的范围内。

为什么不是0 <= lab[:, :, 0].min() <= lab[:, :, 0].max() <= 100真的?