0

この機能を Python で実装したいと思います (HSL をそのカラー化にチェックを入れて変更します)。

ここに画像の説明を入力

誰かがこれがどのように機能するか説明できますか?

私の知る限り、組み込み関数 color_to_hsl を使用して hsl 値を取得し、それを変更してから、ti を rgb に変換し、最後に個々のピクセルに書き込みます。

近づけるための手がかりはありますか?

4

2 に答える 2

1
from PIL import Image
import colorsys

def colorize(im, h, s, l_adjust):
    h /= 360.0
    s /= 100.0
    l_adjust /= 100.0
    if im.mode != 'L':
        im = im.convert('L')
    result = Image.new('RGB', im.size)
    pixin = im.load()
    pixout = result.load()
    for y in range(im.size[1]):
        for x in range(im.size[0]):
            l = pixin[x, y] / 255.99
            l += l_adjust
            l = min(max(l, 0.0), 1.0)
            r, g, b = colorsys.hls_to_rgb(h, l, s)
            r, g, b = int(r * 255.99), int(g * 255.99), int(b * 255.99)
            pixout[x, y] = (r, g, b)
    return result

オリジナル 色付き

于 2012-12-27T03:26:20.783 に答える