Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Berikut ialah beberapa tajuk berasaskan soalan yang menangkap intipati artikel anda: **Umum:** * **Cara Menggabungkan Imej Secara Mendatar dalam Python: Panduan Langkah demi Langkah** * **Menggabungkan Imej dalam Pytho

Berikut ialah beberapa tajuk berasaskan soalan yang menangkap intipati artikel anda: **Umum:** * **Cara Menggabungkan Imej Secara Mendatar dalam Python: Panduan Langkah demi Langkah** * **Menggabungkan Imej dalam Pytho

DDD
DDDasal
2024-10-26 00:24:02404semak imbas

Here are a few question-based titles that capture the essence of your article:

**General:**

* **How to Combine Images Horizontally in Python: A Step-by-Step Guide**
* **Concatenating Images in Python: A Comparative Analysis of Methods**
* **Seamless Ima

Menggabungkan Imej Secara Mendatar dengan Python

Python menyediakan keupayaan pemprosesan imej yang berkuasa, termasuk pilihan untuk menggabungkan berbilang imej secara mendatar. Artikel ini menangani cabaran yang dihadapi apabila cuba untuk menyertai tiga imej JPEG, memastikan penjajaran yang betul dan peralihan lancar.

Gambaran Keseluruhan Masalah

Matlamatnya adalah untuk menggabungkan tiga imej secara mendatar, setiap satu berukuran 148 x 95 piksel. Output yang diingini ialah imej tunggal di mana tiga sub-imej digabungkan dengan lancar.

Percubaan Awal

Pendekatan awal menggunakan gelung bersarang dalam gelung for dan Kaedah Image.paste() untuk menampal setiap imej ke dalam kanvas yang baru dibuat. Walau bagaimanapun, ini menyebabkan imej separa dapat dilihat dalam output.

Melaksanakan Penyelesaian Yang Disemak

Untuk membetulkan isu tersebut, pendekatan yang lebih cekap telah dibangunkan, memanfaatkan Imej Kaedah .open() dan Image.size() untuk mendapatkan dimensi imej dan melaraskan saiz imej baharu secara dinamik. Kodnya adalah seperti 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('test.jpg')</code>

Keputusan

Penyelesaian yang disemak berjaya menggabungkan imej secara mendatar, menghasilkan output yang dijangkakan:

Test1.jpg                        Test2.jpg                        Test3.jpg
──────▄▄██▀▀▀▀▄──────────▄▄██▀▀▀▀▄──────────▄▄██▀▀▀▀▄
─────█▒▒░██▄▒▒▒█───────█▒▒░█████▒█───────█▒▒░█████▒█
───▄████▒▒████▒▒██▄──▄████▒▒████▒▒██▄──▄████▒▒████▒▒██▄
───██▒▒▒█▒▒▒█▒▒▒█▒▒██─██▒▒▒█▒▒▒█▒▒▒█▒▒██─██▒▒▒█▒▒▒█▒▒▒█▒▒██
──██▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒██─██▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒██─██▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒██
─██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒█─
██▒▒▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒▒██
██▒▒▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒▒██
─██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒████▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒████▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒█─
───██▒▒▒█▒▒▒█▒▒▒█▒▒█████▒▒▒█▒▒▒█▒▒▒█▒▒█████▒▒▒█▒▒▒█▒▒▒█▒▒▒█▒▒▒█▒▒▒█───
───▄████▒▒▒█▒▒▒█▒▒▒█████▒▒█████▒▒▒█▒▒▒█████▒▒█████▒▒▒█▒▒▒█▒▒▒█▒▒████▄───
─────█▒▒▒████▒█▒▒▒▒▒▒████▒▒▒████▒▒█▒▒▒▒▒▒████▒▒▒████▒▒████▒▒▒▒▒█▒▒▒█─────
─────────▐▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█──────────
──────────▀▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█───────────

Penyelesaian yang dipertingkatkan ini menggabungkan ketiga-tiga imej secara berkesan, mengelakkan isu imej separa tambahan yang dipaparkan. Ia menyediakan cara yang dinamik dan boleh disesuaikan untuk menggabungkan berbilang imej secara mendatar, menjadikannya sesuai untuk tugas pemprosesan imej tujuan umum.

Atas ialah kandungan terperinci Berikut ialah beberapa tajuk berasaskan soalan yang menangkap intipati artikel anda: **Umum:** * **Cara Menggabungkan Imej Secara Mendatar dalam Python: Panduan Langkah demi Langkah** * **Menggabungkan Imej dalam Pytho. 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