from PIL import Image img = Image.merge(mode, bands)
mode
- режим, используемый в выходном изображении.bands
- последовательность, содержащая одно одноканальное изображение для каждой полосы в выходном изображении. Все полосы должны быть одинакового размера.Image
.Функция Image.merge()
модуля Pillow
объедините набор одноканальных изображений в новое многоканальное изображение.
Image.merge
:from PIL import Image from urllib.request import urlopen # откроем логотип Python по ссылке url = 'https://www.python.org/static/img/python-logo.png' with Image.open(urlopen(url)) as logo: # сохраним для сравнения logo.save('python-logo.png') # разложим изображение на каналы r, g, b, a = logo.split() # делаем что нибудь с каналами # например применим метод Image.eval() # к каналу `B` с lambda-функцией b = Image.eval(b, lambda x: 255 if x > 200 else 0) # теперь объединим каналы без альфа слоя img = Image.merge('RGB', (r, g, b)) img.save('python-logo_eval.png') # или объединим каналы с двумя каналами g img = Image.merge('RGB', (r, g, g)) img.save('python-logo_merge_GG.png') # или вместо канала g поместим альфа-канал img = Image.merge('RGB', (r, g, a)) # смотрим что получилось img.save('python-logo_merge_A.png')