Сообщить об ошибке.

Функция Image.merge() модуля Pillow в Python

Объединение одноканальных изображений Pillow

Синтаксис:

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')