Concaténation d'images horizontalement avec Python
La combinaison de plusieurs images horizontalement est une tâche courante dans le traitement d'images. Python propose des outils puissants pour y parvenir en utilisant la bibliothèque Pillow.
Description du problème
Considérons trois images JPEG carrées de dimensions 148 x 95. L'objectif est de les concaténer horizontalement images tout en évitant toute image partielle dans la sortie résultante.
Solution suggérée
L'extrait de code suivant résout le problème :
<code class="python">import sys from PIL import Image # Get the images images = [Image.open(x) for x in ['Test1.jpg', 'Test2.jpg', 'Test3.jpg']] # Determine the total width and height widths, heights = zip(*(i.size for i in images)) total_width = sum(widths) max_height = max(heights) # Create a new, empty image new_im = Image.new('RGB', (total_width, max_height)) # Paste the images horizontally x_offset = 0 for im in images: new_im.paste(im, (x_offset, 0)) x_offset += im.size[0] # Save the output image new_im.save('test.jpg')</code>
Ce code parcourt les images d’entrée, déterminant leurs dimensions. Il crée une nouvelle image avec la largeur totale et la hauteur maximale de toutes les images. Chaque image d'entrée est collée horizontalement et leurs positions sont mises à jour en conséquence.
Considérations supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!