首頁  >  文章  >  後端開發  >  如何在Python中水平組合多個影像而不出現重疊問題?

如何在Python中水平組合多個影像而不出現重疊問題?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-25 08:23:02352瀏覽

How to Combine Multiple Images Horizontally in Python Without Overlapping Issues?

在 Python 中水平組合影像

本文解決了在 Python 中水平組合多個 JPEG 影像的問題。

問題:

使用者擁有三張相同尺寸 (148 x 95) 的圖像,並嘗試使用提供的程式碼等級來組合它們。但是,輸出有額外的部分影像與先前的子影像重疊。

解決方案:

要解決此問題,我們可以使用以下修改後的程式碼:

<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('combined_horizontally.jpg')</code>

此程式碼完成以下任務:

  • 開啟輸入影像並確定其寬度和高度。
  • 計算組合影像的總寬度和最大高度。
  • 使用計算出的尺寸建立新影像。
  • 將每個輸入影像以適當的偏移水平水平貼到新影像中。
  • 將組合影像儲存為combined_horizo​​ntally.jpg。

其他注意事項:

  • 程式碼動態決定影像尺寸,使其能夠處理不同尺寸的影像。
  • 它在一行上指定尺寸,以便在需要時輕鬆調整。
  • 透過使用 max 函數確定最大高度,組合影像將容納所有輸入影像,即使它們具有不同的高度。

以上是如何在Python中水平組合多個影像而不出現重疊問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn