首頁  >  文章  >  後端開發  >  如何在Python中水平組合影像而不需要部分分割?

如何在Python中水平組合影像而不需要部分分割?

Barbara Streisand
Barbara Streisand原創
2024-10-25 16:32:42943瀏覽

How to Combine Images Horizontally in Python Without Partial Segments?

在Python 中水平組合影像

為了水平組合多個JPEG 影像,您可能會遇到一些挑戰,例如輸出中出現額外的部分圖像。這是解決此問題的解決方案。

問題:

您有三個 148 x 95 像素圖像,並且您希望水平組合它們,而不需要任何不需要的額外片段。

解:

  1. 計算尺寸:

    • 計算尺寸:
    取得寬度和高度使用zip 函數將所有圖像作為元組列表。
  2. 透過對寬度求和來決定總寬度,透過尋找最大高度來確定最大高度。

    • 建立新影像:
  3. 使用 Image.new 方法使用步驟 1 中計算的尺寸建立新影像。

    • 貼上影像:
    • 將 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