Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menggabungkan Berbilang Imej Secara Mendatar dalam Python Tanpa Isu Bertindih?

Bagaimana untuk Menggabungkan Berbilang Imej Secara Mendatar dalam Python Tanpa Isu Bertindih?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 08:23:02352semak imbas

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

Menggabungkan Imej Secara Mendatar dalam Python

Artikel ini membincangkan isu menggabungkan berbilang imej JPEG secara mendatar dalam Python.

Masalah:

Pengguna mempunyai tiga imej yang sama dimensi (148 x 95), dan cuba menggabungkannya secara mendatar menggunakan kod yang disediakan. Walau bagaimanapun, output mempunyai imej separa tambahan yang bertindih dengan sub-imej sebelumnya.

Penyelesaian:

Untuk menyelesaikan isu ini, kami boleh menggunakan kod diubah suai berikut:

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

Kod ini mencapai perkara berikut:

  • Membuka imej input dan menentukan lebar dan ketinggiannya.
  • Mengira jumlah lebar dan ketinggian maksimum imej gabungan.
  • Mencipta imej baharu dengan dimensi yang dikira.
  • Tampal setiap imej input secara mendatar ke dalam imej baharu dengan offset yang sesuai.
  • Menyimpan imej gabungan sebagai combined_horizontally.jpg.

Pertimbangan Tambahan:

  • Kod menentukan dimensi imej secara dinamik, membolehkannya mengendalikan imej dengan saiz yang berbeza-beza.
  • Ia menentukan dimensi pada satu baris, menjadikannya mudah untuk melaraskan jika perlu.
  • Dengan menggunakan fungsi maks untuk menentukan ketinggian maks, imej gabungan akan menampung semua imej input, walaupun ia mempunyai ketinggian yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Berbilang Imej Secara Mendatar dalam Python Tanpa Isu Bertindih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn