Pesquisa de site

Como mesclar imagens do mesmo tamanho usando o travesseiro do módulo Python 3?


O travesseiro ou PIL é uma poderosa biblioteca Python para manipulação e manipulação de imagens. Uma das tarefas mais comuns no processamento de imagens é mesclar várias imagens em uma única imagem. Ele fornece uma gama de funções para carregar, manipular e salvar imagens em vários formatos. Uma das principais características do Pillow é o suporte para mesclagem de imagens. Suporta uma variedade de imagens, incluindo “jpeg”, “png”, “bmp”, “gif”, “ppm”, “tiff”. Com este módulo, podemos fazer quase tudo com imagens digitais, como funcionalidade básica de processamento de imagens, operações pontuais, filtragem de imagens usando núcleos de convolução integrados e conversões de espaço de cores.

Neste artigo, aprenderemos como mesclar imagens do mesmo tamanho usando o módulo Pillow em Python 3.

Mas antes de começarmos, vamos primeiro entender o que é mesclar imagens e por que isso é importante. A fusão de imagens é um processo de combinação de duas ou mais imagens em uma única imagem. É comumente usado em aplicativos ao criar panoramas, compor várias imagens em um único quadro ou mesclar imagens para criar uma nova imagem. É importante ressaltar que para mesclar imagens é necessário que elas tenham o mesmo tamanho.

Etapas para mesclar imagens do mesmo tamanho usando travesseiro

Aqui estão as etapas para mesclar imagens do mesmo tamanho usando Pillow em Python3 -

Etapa 1: importe os módulos necessários

Para começar, precisamos importar os módulos necessários. Neste caso, precisamos importar o módulo Image da biblioteca Pillow.

from PIL import Image

Etapa 2: abra as imagens

A seguir, precisamos abrir as imagens que queremos mesclar. Podemos fazer isso usando o método Image.open(). Este método retorna um objeto Image que podemos usar para manipular a imagem.

myimage1= Image.open('image1.jpg')
myimage1= Image.open('image2.jpg')

Etapa 3: verifique os tamanhos das imagens

Precisamos ter certeza de que as imagens têm o mesmo tamanho antes de podermos mesclá-las. Podemos verificar o tamanho das imagens usando o atributo size.

if myimage1.size == myimage2.size:
   # continue with merging
else:
   print('The images must have the same size to merge them using Pillow!')

Etapa 4: crie uma nova imagem

Precisamos criar uma nova imagem que conterá a imagem mesclada. Podemos fazer isso usando o método Image.new(). Este método toma como parâmetros o modo e o tamanho da nova imagem.

mymerged_image= Image.new('RGB', myimage1.size)

Etapa 5: mesclar as imagens

Finalmente, podemos mesclar as imagens colando uma imagem na outra usando o método Image.paste(). Precisamos especificar as coordenadas onde queremos colar a imagem.

mymerged_image.paste(myimage1, (0, 0))
mymerged_image.paste(myimage2, (myimage1.size[0], 0))

Etapa 6: salve a imagem mesclada

Podemos salvar a imagem mesclada usando o método Image.save().

mymerged_image.save(mymerged_image.jpg')

Agora, você deve ter um bom entendimento de como mesclar imagens do mesmo tamanho usando o módulo python3 pillow. Vamos ver alguns exemplos em detalhes usando diferentes abordagens.

Exemplo 1: Mesclagem horizontal de imagens

A seguir, iremos mesclar duas imagens horizontalmente. A primeira imagem estará à esquerda e a segunda imagem estará à direita.

Criamos uma nova imagem mesclada com largura igual à largura de uma das imagens de entrada e altura igual à soma das alturas das duas imagens de entrada. Aqui, lemos as duas imagens de entrada, myimage1 e myimage2, usando o método Image.open().

A seguir, verificamos se os tamanhos das duas imagens são iguais. Se estiverem, criamos uma nova imagem usando o método Image.new(). O método Image.new() aceita dois argumentos: o modo da nova imagem (neste caso, 'RGB') e o tamanho da nova imagem (neste caso, a largura da nova imagem é a soma do larguras das duas imagens de entrada e a altura da nova imagem é a altura de uma das imagens de entrada).

Após criar a nova imagem, usamos o método paste() para mesclar as duas imagens de entrada horizontalmente. O método paste() leva dois argumentos: a imagem a ser colada e o local para colá-la. Nesse caso, colamos image1 no canto superior esquerdo da nova imagem ((0, 0)) e myimage2 no canto superior direito da nova imagem ((myimage1.size[0], 0)). E finalmente, salvamos a imagem mesclada.

#import the PIL
from PIL import Image
# Open the images
myimage1 = Image.open('myimageone.jpg')
myimage2 = Image.open('myimagetwo.jpg')

# Checking the sizes of the images
if myimage1.size == myimage2.size:
   # Creatin a new image
   mymerged_image = Image.new('RGB', (myimage1.size[0], myimage1.size[1] + myimage1.size[1]))
   # Merging the images horizontally
   mymerged_image.paste(myimage1, (0, 0))
   mymerged_image.paste(myimage2, (myimage1.size[0], 0))
   # Saving the merged image
   mymerged_image.save('mymerged_image_horizontal.jpg')
else:
   print('The images must have the same size to merge them using Pillow')

Saída

Imagens de entrada

Imagem de saída

Exemplo 2: mesclagem vertical de imagens

No exemplo abaixo, mesclaremos duas imagens verticalmente. A primeira imagem estará na parte superior e a segunda imagem estará na parte inferior.

Criamos uma nova imagem com largura igual à soma das larguras das duas imagens de entrada e altura igual à altura de uma das imagens de entrada. Agora, usando o módulo PIL, colamos a primeira imagem no canto superior esquerdo da nova imagem e a segunda imagem no canto superior direito da nova imagem. E finalmente, salvamos a imagem mesclada.

#import the PIL
from PIL import Image

# Open the images
myimage1 = Image.open('myimageone.jpg')
myimage2 = Image.open('myimagetwo.jpg')

# Checking the sizes of the images
if myimage1.size == myimage2.size:
   # Creatin a new image
   mymerged_image = Image.new('RGB', (myimage1.size[0], myimage1.size[1] + myimage1.size[1]))

   # Merging the images vertically
   mymerged_image.paste(myimage1, (0, 0))
   mymerged_image.paste(myimage2, (0, myimage1.size[1]))

   # Saving the merged image
   mymerged_image.save('mymerged_image_vertical.jpg')
else:
   print('The images must have the same size to merge them using Pillow')

Saída

Imagens de entrada

Imagem de saída

Conclusão

Mesclar imagens do mesmo tamanho é uma tarefa comum no processamento de imagens em Python. Neste artigo, aprendemos como mesclar duas imagens do mesmo tamanho usando o módulo Pillow do Python 3. Vimos as etapas completas envolvidas na mesclagem de imagens usando Pillow em Python e dois exemplos completos de mesclagem de imagens horizontal e verticalmente. Seguindo essas etapas, você pode mesclar facilmente imagens do mesmo tamanho usando o Pillow.

Artigos relacionados: