Преобразование изображения в оттенках серого в цветной RGBA - PullRequest
0 голосов
/ 09 мая 2020

У меня есть фоновое изображение и изображение в оттенках серого, оба в формате PNG. Я хочу преобразовать изображение в градациях серого так, чтобы белый стал другим произвольным цветом, а «чернота» каждого пикселя стала похожей на канал альфа / прозрачности. Затем я хочу поместить его поверх фонового изображения.

У меня есть следующий код:

from PIL import Image

# load images
image = Image.open("image.png")
mask = Image.open("mask.png")

# stretch mask to fit image
mask = mask.resize(image.size)

# get the color of a pixel in the middle of the image to use as mask color
color = image.getpixel((500, 500))

# colorize the greyscale mask to that color, with the "blackness" of each pixel becoming the alpha channel
greyscale_to_color_with_alpha(mask, color)

# apply mask on top of image
image.paste(mask)

def greyscale_to_color_with_alpha(image, color):
    raise NotImplementedError

PIL помечен, потому что это то, что я использую в настоящее время, но отвечает с использованием других библиотек изображений также приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...