Entonces, para este proyecto en el que estoy trabajando, tengo 2 fotos. Estas dos fotos deben coserse juntas, una en la parte superior y otra en la inferior, y luego podrás ver la imagen completa. ¿Alguna idea sobre qué módulo debería usar para hacer esto?Cosiendo fotos juntas
Respuesta
El python imaging library se comerá esa tarea en el desayuno.
Consulte el tutorial en particular la sección "Corte, pegado y fusión de imágenes" para obtener ayuda.
Para esbozo, cargar ambas imágenes con Image.open
, averiguar cuán grande es la imagen de salida será mediante el atributo size
y algunos además, crear la imagen de salida con Image.new
y luego usar el método paste
a más allá de las dos imágenes originales en.
¿Podría elaborar un poco sobre eso? ¿Como qué funciones usaría? ¿Algun consejo? –
Agregué algunos consejos a la respuesta. Normalmente escribiría un programa de demostración, pero ha sido una semana larga y una buena bebida alcohólica llama ;-) –
¡Genial! Eso fue perfecto. Gracias por su ayuda –
Este es un código de la visión de computadora de Jan Erik Solems con el libro de pitón; es probable que pueda editarlo para adaptarse a su superior/inferior necesita
def stitchImages(im1,im2):
'''Takes 2 PIL Images and returns a new image that
appends the two images side-by-side. '''
# select the image with the fewest rows and fill in enough empty rows
rows1 = im1.shape[0]
rows2 = im2.shape[0]
if rows1 < rows2:
im1 = concatenate((im1,zeros((rows2-rows1,im1.shape[1]))), axis=0)
elif rows1 > rows2:
im2 = concatenate((im2,zeros((rows1-rows2,im2.shape[1]))), axis=0)
# if none of these cases they are equal, no filling needed.
return concatenate((im1,im2), axis=1)
Aquí está un ejemplo de código usando Pillow. Espero que ayude a alguien!
from PIL import Image
def merge_images(file1, file2):
"""Merge two images into one, displayed side by side
:param file1: path to first image file
:param file2: path to second image file
:return: the merged Image object
"""
image1 = Image.open(file1)
image2 = Image.open(file2)
(width1, height1) = image1.size
(width2, height2) = image2.size
result_width = width1 + width2
result_height = max(height1, height2)
result = Image.new('RGB', (result_width, result_height))
result.paste(im=image1, box=(0, 0))
result.paste(im=image2, box=(width1, 0))
return result
este código funciona, acabo de probarlo ahora. Puede guardar el archivo usando este código -> merged = merge_images (file1, file2) merged.save (file_dest) – fedmich
La pregunta era para una imagen encima de otra, que simplemente está volteando las acciones en result_width con result_height – Ywapom
- 1. en tiempo real de vídeo (imagen) cosiendo
- 2. Encadenando plantillas variadas juntas
- 3. PHP: Agregar matrices juntas
- 4. SQL: Agrupar cadenas juntas
- 5. Concat dos cadenas juntas
- 6. ¿Agregar dos variables juntas?
- 7. Foursquare: Fotos en lugares/fotos pero no en lugares/explorar?
- 8. Backbone - Fusionar 2 colecciones juntas?
- 9. Fotos de Google+ api
- 10. Mostrando fotos de NSDocumentDirectory
- 11. PHP organizar fotos cargadas
- 12. Android: subir fotos
- 13. Galería de fotos simple gema
- 14. Fotos de grupo por color
- 15. Instagram API Carga de fotos
- 16. Agrupación de fotos en R?
- 17. Galería de fotos en Android
- 18. Seleccionar fotos por etiquetas múltiples
- 19. Qt conectar dos señales juntas utilizando QueuedConnection
- 20. Cómo combinar varias listas de IEnumerable juntas
- 21. cómo reemplazar varias cadenas juntas en Oracle
- 22. fusionar 2 ramas de svn juntas
- 23. Fusionando 2 ramas juntas en GIT
- 24. ¿Cómo se suman varias consultas SQL juntas?
- 25. La mejor aplicación de fotos para Django para vender fotos en línea
- 26. Guardar fotos en álbum personalizado en la biblioteca de fotos de iPhones
- 27. Abrir la aplicación de fotos mediante programación
- 28. Convertir fotos en dibujos animados usando PHP
- 29. Problema con flotador y fotos en látex
- 30. API de flujo de fotos de ICloud?
¿Se superponen como un panorama? ¿O solo necesita hacer una imagen más grande poniendo dos más pequeños uno al lado del otro? – Leopd