转换为四种色调,同时在 Photoshop 中保留值/亮度

平面设计 adobe-photoshop 颜色转换
2022-01-20 16:00:44

我想将平面图像中的色调数量从全范围减少到只有四种,但我想保留值/亮度(如果可能的话,还要保留饱和度)。我想要四种色调,因为我觉得它看起来很酷。

我尝试使用色调调整图层,但是当我使用它时,它只是在转换过程中改变了范围,因此一个范围被转换为另一个具有多种颜色的范围。我想将指定的范围转换为相同的色调,同时保留值/亮度(如果可以的话,甚至可能是饱和度)。

我正在使用 Photoshop CS5

这些是我要使用的四个 HSB/HSV 色调值:

  1. 333
  2. 58
  3. 193
  4. 242

这就是我想转换色调的方式:

目标 HSV 值

注意:自从第一次发布以来,我已经修改了这个问题。最初,我错误地要求响应者将图像减少到四个RGB 值,同时保持源图像中的色调/值。然而,这是一项不可能完成的任务,因为 RGB 值包含色调/亮度和色调;在 RGB 中,色调和色调有着千丝万缕的联系。

幸运的是,@Wolff 能够理解我的意思,尽管我的措辞很糟糕,并且与 @Danielillo、@Ryan 和 @Emilie 一起,他帮助我理解了我真正要求的是针对四种色调,而不是四种 RGB价值观。然后,他确定了我的 RGB 值(HSB/HSV)中存在的四种色调。这些 HSB/HSV 值现在是我要求响应者在图像转换中定位的值(不是 RGB)。

此外,正如@Wolff 所指出的,在我的帖子的第一个版本中,我没有指定如何转换完整的 HSB 光谱(我没有类似品红色的范围)。更新后的问题还包括先前省略的范围。

对于那些想了解混淆根源的人(由一些提供替代答案的用户正确表达),这些是我发布的原始 4 RGB 值:

在此处输入图像描述

澄清更新:请知道我的意图仅用于屏幕,而不是打印。我根据这四种色调建立了一个网站,我认为如果所有图像的颜色都经过扭曲以匹配它们,那会很漂亮。同时,在四种折叠颜色的范围内,我希望尽可能多地保留由原始值/亮度编码的动态。我希望这有帮助。我(原始发帖人)不会为打印答案奖励积分,但社区可能会赞赏对打印解决方案的任何解释。@Emilie,将赏金放在这个问题上,可以奖励她想要的任何人。

感谢@Emilie 提供赏金!我真的很沮丧,之前似乎没有人能够回答它。

4个回答

正如其他人指出的那样,这个问题的逻辑有点缺陷,但非常有趣。

我的回答主要基于 RGB/HSB 数学,我承认在感知颜色、颜色配置文件等方面存在许多问题,但无论如何我都会试一试。


我冒昧地重新定义这个问题,以便能够回答它。

首先,您向我们展示的光谱正在从红色变为蓝色。缺少洋红色- 如何处理光谱中那部分的颜色

因此,我正在扩展您的范围以在两端包括洋红色。

我们遇到的另一个问题是您所说的四种色调列表。它们不仅仅是色调,它们是具有单独饱和度亮度值的颜色。如果我们要将它们与光谱进行比较,这并没有太大意义,因此我们必须通过将饱和度和亮度都更改为 100 来“将它们降低为色调”。


我们将在 Photoshop 中使用HSB/HSL 滤镜(必须从 Adob​​e 网站下载)来获取图像的色调作为 Alpha 蒙版。然后我们将使用渐变映射将色调值映射到想要的值,然后我们将再次使用 HSB/HSL 过滤器将图像转换回 RGB。

数学有点古怪,因为色调的范围是 0-360(会换行),alpha 的范围是 0-255,渐变停止的范围是 0-100。

首先,我将制作一张表格以了解发生了什么。我们可能不需要所有的数字。

(这些值是四舍五入的,并且色调与您定义它们的方式不完全一样,因为我已经扩展了光谱。它们当然可以以不同的方式放置。)

让我们拍摄一张彩色图像并添加光谱作为参考。(图片来自Pixabay的Mike Goad)。

使用 HSB/HSL 过滤器为我们提供了以下色调通道:

我将色调通道复制到一个新的灰度文档(颜色配置文件必须是Gray Gamma 2.2),以便能够在其上使用渐变映射。我设置梯度图如下:

设置渐变停止需要一些摆弄(使用起来很烦人)。我正在从我之前制作的表格中获取值。总共有 8 个停靠点,其中一些必须重叠才能获得硬过渡:

生成的色调通道如下所示:

最后,我将此色调通道复制回初始 HSB 图像,替换旧的色调通道并使用 HSB/HSL 过滤器将图像转换回 RGB。

我相信这是按要求做的,但我不确定它是否像您希望的那样酷。过渡非常突然,但当然可以通过更改渐变图来软化它们。


编辑:Javascript方法

是一个具有相同概念的 Javascript 版本的 JSFiddle。将图像放在结果页面上,它会转换为四种色调。更改“hueRanges”以自定义结果。代码的主要部分已注释。

结果与 Photoshop 方法略有不同,但非常接近:

因为我不知道 Photoshop 过滤器背后的数学原理,所以我不知道为什么会有这种差异。

这是一个有缺陷的复制概念,因为它完全是随意的,一种颜色结束而另一种颜色开始。您还谈到了保留色调,这使它更加混乱。

这就是说对于您的结果,您可以尝试:

  1. 转换为实验室
  2. 复制图层并用 4 将其分离
  3. 使用 4 种颜色中的每一种创建 4 个纯色调整图层。将每一个更改为颜色混合模式。
  4. 使用 Blend-If 选项将这 4 种颜色减少到您所追求的约束。

结果如下:

在此处输入图像描述

这个问题最近从一个模棱两可的状态编辑为一个更好的形状。它现在需要明确预定义的色调量化和重新映射。接受的答案为 Photoshop 提供了它。

接下来是免费软件用户。

Paint.NET 有一个插件过滤器,它直接进行色调和饱和度范围映射。此任务需要应用过滤器四次以将总 360 度映射到四个离散色调。结果与接受的答案相同。过滤器是“条件色相/饱和度”。它是 Evan 效果包的一部分。

过滤器没有完全抛光。我无法输入完全预定义的色调值。范围设置必须使用太小的滑块来完成,不存在精确的数字输入字段。这是使用 Wolff 回答中使用的相同图像的测试:

在此处输入图像描述

1.将RGB图像转换为HSB

使用过滤器 > 其他 > HSB/HSL并选择输入模式:RGB 和行顺序:HSB。这将使图像看起来很奇怪,但它允许我们使用图像通道将色调与饱和度和亮度分开处理。

2.减少色调的数量

红色通道现在将包含图像中所有像素的色调。您想将这些量化为您选择的四种色调。这是最难的部分。一种方法是将红色通道中的内容复制到新图像并将图像模式设置为索引颜色并创建自定义调色板,并将您的色调映射到相应的黑白值。然后将此图像粘贴回红色通道。

3.转换回RGB

当您减少了色调数量时,您再次应用 HSB/HSL 过滤器,但使用相反的输入/行顺序设置来完成该过程。