image-processing - 为给定图像设置色温(如在 Photoshop 中)

标签 image-processing color-scheme

我被指派将色温设置为 1000 到 10.000 之间的值,就像在 Photoshop 中一样。到目前为止,我只能找到一个显示值 here 的表格。
我试图在 Gimp 中找到相同的功能(因为它是开源的,我会通过阅读代码来学习),但没有直接的等价物。我必须选择颜色级别并弯曲一些曲线。有人告诉我,客户想要像在 Photoshop 中一样设置这些值。
任何人都可以指出正确的方向来创建规模吗?

编辑:链接已更正。

最佳答案

您已经找到了每个色温的 RGB 等效值表,但您没有说在哪里,所以我找到了自己的:http://www.vendian.org/mncharity/dir3/blackbody/

自然场景反射光与照射它的光的颜色成正比。这意味着简单的线性平移应该会产生所需的效果。如果我们假设现有图像已经是白平衡的,所以纯白色是 (255,255,255) 那么它只是将每个像素的每个 r、g、b 值乘以对应于色温的比例的问题。

这是 Python 中的示例代码。乘法是用矩阵间接完成的。

from PIL import Image

kelvin_table = {
    1000: (255,56,0),
    1500: (255,109,0),
    2000: (255,137,18),
    2500: (255,161,72),
    3000: (255,180,107),
    3500: (255,196,137),
    4000: (255,209,163),
    4500: (255,219,186),
    5000: (255,228,206),
    5500: (255,236,224),
    6000: (255,243,239),
    6500: (255,249,253),
    7000: (245,243,255),
    7500: (235,238,255),
    8000: (227,233,255),
    8500: (220,229,255),
    9000: (214,225,255),
    9500: (208,222,255),
    10000: (204,219,255)}


def convert_temp(image, temp):
    r, g, b = kelvin_table[temp]
    matrix = ( r / 255.0, 0.0, 0.0, 0.0,
               0.0, g / 255.0, 0.0, 0.0,
               0.0, 0.0, b / 255.0, 0.0 )
    return image.convert('RGB', matrix)

这是几个示例。第一个是原始的,其次是 2500K 和 9500K 的输出。

Original
2500K
9500K

关于image-processing - 为给定图像设置色温(如在 Photoshop 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11884544/

相关文章:

android-studio - 如何更改android studio未使用的字段/方法颜色

Eclipse 深色主题修复

linux - Linux 中基于扩展名的颜色代码文件

css - 相似色度代码

c# - 红外传感器和RGB图像的Kinect v2对齐始终略有偏离

python - 如何在检测到的矩形中上下移动cv2.line来模拟Python中的人脸扫描?

image-processing - 如何解决 ImageMagick 的 "Fontconfig warning: ignoring UTF-8: not a valid region tag"错误?

javascript - JetBrains WebStorm 中的自定义关键字颜色

matlab - 没有得到 HOG 的 'spatial weights' 是什么

matlab - 在 Matlab 中使用主成分分析 (PCA) 计算和绘制主成分