"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Pillow를 사용하여 Python에서 여러 이미지를 가로로 연결하는 방법은 무엇입니까?

Pillow를 사용하여 Python에서 여러 이미지를 가로로 연결하는 방법은 무엇입니까?

2024-11-06에 게시됨
검색:690

How to Concatenate Multiple Images Horizontally in Python Using Pillow?

Python을 사용하여 이미지를 수평으로 연결

여러 이미지를 수평으로 결합하는 것은 이미지 처리에서 일반적인 작업입니다. Python은 Pillow 라이브러리를 사용하여 이를 달성하기 위한 강력한 도구를 제공합니다.

문제 설명

148 x 95 크기의 정사각형 JPEG 이미지 3개를 고려합니다. 목표는 이러한 이미지를 가로로 연결하는 것입니다. 결과 출력에서 ​​부분 이미지를 피하면서 이미지를 삭제합니다.

제안 솔루션

다음 코드 조각은 문제를 해결합니다.

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

이 코드는 입력 이미지를 반복하여 크기를 결정합니다. 모든 이미지의 전체 너비와 최대 높이를 사용하여 새 이미지를 생성합니다. 각 입력 이미지는 가로로 붙여넣고 그에 따라 위치가 업데이트됩니다.

추가 고려 사항

  • 코드는 이미지 크기를 동적으로 계산하여 하드 코딩된 이미지 크기를 방지합니다.
  • 한 줄에 치수를 지정하면 쉽게 조정할 수 있습니다.
  • 제공된 예제는 3개의 이미지를 연결하지만 코드는 여러 이미지에 사용할 수 있습니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3