Cel*_*gün 2 color-scheme image-processing
我已被指定将色温设置为1000到10.000之间的值,就像在Photoshop中一样.到目前为止,我只已经能够找到一个表格,显示值在这里 我试图找到在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)
Run Code Online (Sandbox Code Playgroud)
这是几个样本.第一个是原始的,然后是2500K和9500K的输出.

|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           5813 次  |  
        
|   最近记录:  |