>백엔드 개발 >파이썬 튜토리얼 >부분 세그먼트 없이 Python에서 이미지를 수평으로 결합하는 방법은 무엇입니까?

부분 세그먼트 없이 Python에서 이미지를 수평으로 결합하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-25 16:32:421045검색

How to Combine Images Horizontally in Python Without Partial Segments?

Python에서 이미지를 가로로 결합

여러 JPEG 이미지를 가로로 결합하려는 경우 출력에 추가 부분 이미지가 나타나는 등의 문제에 직면할 수 있습니다. 다음은 이 문제를 해결하는 솔루션입니다.

문제:

3개의 148 x 95픽셀 이미지가 있고 불필요한 추가 세그먼트 없이 가로로 결합하려고 합니다.

해결책:

  1. 치수 계산:

    • 폭과 높이를 구합니다. zip 기능을 사용하여 모든 이미지를 튜플 목록으로 만듭니다.
    • 최대 높이를 찾아 너비와 최대 높이를 합산하여 전체 너비를 결정합니다.
  2. 새 이미지 만들기:

    • Image.new 메서드를 사용하여 1단계에서 계산된 크기로 새 이미지를 만듭니다.
  3. 이미지 붙여넣기:

    • x 좌표 오프셋을 0으로 초기화합니다.
    • 원본 목록의 각 이미지를 반복합니다.
    • 현재 이미지를 새 이미지의 오프셋에 붙여넣고 오프셋을 현재 이미지의 너비로 설정합니다.

수정된 코드 사용:

<code class="python">import sys
from PIL import Image

images = [Image.open(x) for x in ['Test1.jpg', 'Test2.jpg', 'Test3.jpg']]
widths, heights = zip(*(i.size for i in images))

total_width = sum(widths)
max_height = max(heights)

new_im = Image.new('RGB', (total_width, max_height))

x_offset = 0
for im in images:
  new_im.paste(im, (x_offset,0))
  x_offset += im.size[0]

new_im.save('test.jpg')</code>

부분 분할 없이 원하는 가로결합 이미지를 만들어드립니다.

위 내용은 부분 세그먼트 없이 Python에서 이미지를 수평으로 결합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.