Подушка Python - объединение изображений

Пакет подушек позволяет наклеить изображение на другое. Функция merge () принимает в качестве параметров режим и кортеж изображений и объединяет их в одно изображение.

Синтаксис

Image.merge(mode, bands)

Где,

  • mode - Режим, используемый для выходного изображения.

  • bands - Последовательность, содержащая одно однолинейное изображение для каждой полосы в выходном изображении. Все ленты должны иметь одинаковый размер.

  • Return value - Объекты изображения.

Используя функцию merge (), вы можете объединить полосы RGB изображения как -

from PIL import Image
image = Image.open("beach1.jpg")
r, g, b = image.split()
image.show()
image = Image.merge("RGB", (b, g, r))
image.show()

При выполнении приведенного выше фрагмента кода вы можете увидеть исходное изображение и изображение со слиянием полос RGB, как показано ниже -

Input image

Output image

Объединение двух изображений

Таким же образом, чтобы объединить два разных изображения, вам необходимо:

  • Создайте объект изображения для требуемых изображений с помощью функции open ().

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

  • Создайте пустое изображение с помощью функции Image.new ().

  • Вставьте изображения с помощью функции paste ().

  • Сохраните и отобразите полученное изображение с помощью функций save () и show ().

пример

В следующем примере демонстрируется слияние двух изображений с использованием подушки Python.

from PIL import Image
#Read the two images
image1 = Image.open('images/elephant.jpg')
image1.show()
image2 = Image.open('images/ladakh.jpg')
image2.show()
#resize, first image
image1 = image1.resize((426, 240))
image1_size = image1.size
image2_size = image2.size
new_image = Image.new('RGB',(2*image1_size[0], image1_size[1]), (250,250,250))
new_image.paste(image1,(0,0))
new_image.paste(image2,(image1_size[0],0))
new_image.save("images/merged_image.jpg","JPEG")
new_image.show()

Вывод

Если вы сохраните указанную выше программу как Example.py и выполните ее, она отобразит два входных изображения и объединенное изображение с помощью стандартной утилиты отображения PNG, как показано ниже:

Input image1

Input image2

Merged image