相关疑难解决方法(0)

将RGB转换为灰度/强度

当从RGB转换为灰度时,据说应该应用通道R,G和B的特定权重.这些重量为:0.2989,0.5870,0.1140.

据说,其原因是人类对这三种颜色的感知/敏感性不同.有时也会说这些是用于计算NTSC信号的值.

但是,我没有在网上找到这方面的好参考.这些价值观的来源是什么?

另请参阅以前的这些问题:此处此处.

language-agnostic rgb colors image-processing computer-vision

119
推荐指数
5
解决办法
17万
查看次数

将RGB颜色值转换为Decimal

如何将RGB颜色值转换为纯十进制?

所以我有:RGB(255,255,255)是白色
它的十进制等效值是:16777215

我试过想它可能只是:

var dec = r*g*b; // but this doesn't work
Run Code Online (Sandbox Code Playgroud)

虽然这不起作用.

有人知道要从RGB(或rgba)转换为十进制的算法/等式吗?

javascript c++ binary colors

8
推荐指数
2
解决办法
1万
查看次数

如何计算具有相同感知亮度的 RGB 值

我正在尝试生成具有相同感知亮度的 RGB 颜色。

函数 R*0.2126+ G*0.7152+ B*0.0722 据说可以计算给定 RGB 颜色的感知亮度(或等效灰度颜色)。

假设我们对所有 RGB 值使用区间 [0,1],我们可以计算以下内容:

  • 黄色 = RGB(1,1,0) => 亮度=0.9278
  • 蓝色 = RGB(0,0,1) => 亮度=0.0722

因此,为了使黄色色调与蓝色色调一样暗淡,我可以简单地对每个 RGB 分量的黄色执行以下简单计算:

  • 暗淡黄色 = 黄色 * 0.0722 / 0.9278

然而,当做相反的事情,从而将蓝色“缩放”到与原始黄色相同的感知亮度时,B分量明显超过1,这无法在计算机屏幕上显示。

我猜想,多余的 B 分量所缺失的亮度可能会“重新分配”到 R 和 G 分量,从而呈现出更亮的蓝色。那么计算最终 RGB 值的最佳通用方法是什么?

language-agnostic math rgb colors

5
推荐指数
1
解决办法
5673
查看次数