Pengenalan:
Dalam era media sosial dan budaya digital hari ini, imej telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian manusia. Walau bagaimanapun, kadangkala kita perlu melakukan operasi yang sama pada sejumlah besar gambar, seperti mengubah saiz, memotong, berputar, dsb. Memproses imej ini secara manual sangat memakan masa dan membosankan. Oleh itu, menggunakan Python untuk memproses imej secara berkumpulan akan meningkatkan kecekapan. Artikel ini akan memperkenalkan cara menggunakan perpustakaan Bantal Python untuk memproses kumpulan imej dan memberikan contoh kod yang sepadan.
Langkah 1: Pasang perpustakaan Bantal
Sebelum bermula, kita perlu memasang perpustakaan Bantal terlebih dahulu. Masukkan arahan berikut pada baris arahan untuk melengkapkan pemasangan:
pip install pillow
Langkah 2: Import perpustakaan dan modul yang diperlukan
Sebelum menulis kod Python, kita perlu mengimport perpustakaan dan modul yang diperlukan. Tambahkan baris berikut dalam kod:
from PIL import Image import os
Langkah 3: Tetapkan laluan folder input dan output
Sebelum pemprosesan kelompok, kita perlu menetapkan laluan folder input dan output. Contoh berikut menganggap bahawa laluan folder input kami ialah 'input_folder' dan laluan folder output kami ialah 'output_folder'. Anda boleh mengubah suai laluan ini mengikut keperluan anda.
input_folder = 'path/to/input_folder' output_folder = 'path/to/output_folder'
Langkah 4: Tulis fungsi pemprosesan imej
Sebelum menulis gelung utama, kami terlebih dahulu menulis fungsi untuk memproses imej. Contoh berikut menunjukkan cara mengubah saiz imej dan menyimpannya ke folder output:
def process_image(input_path, output_path, width, height): image = Image.open(input_path) resized_image = image.resize((width, height)) resized_image.save(output_path)
Dalam fungsi ini, kami mula-mula membuka imej input menggunakan Image.open()
dan mengubah saiznya dengan memanggil ubah saiz ()
kaedah untuk mengubah saiz imej. Akhir sekali, kami menggunakan kaedah save()
untuk menyimpan imej yang diproses ke laluan output yang ditentukan. Image.open()
打开输入图片,并通过调用resize()
方法调整图片大小。最后,我们使用save()
方法将处理后的图片保存到指定的输出路径。
可以根据自己的需求在这个函数中添加其它图片处理操作,例如裁剪、旋转等。
第五步:遍历输入文件夹并进行批量处理
现在我们可以编写主循环来遍历输入文件夹中的所有图片,并对每张图片进行批量处理。以下示例展示了如何遍历输入文件夹并调用上述的图片处理函数:
for filename in os.listdir(input_folder): if filename.endswith('.jpg') or filename.endswith('.png'): input_path = os.path.join(input_folder, filename) output_path = os.path.join(output_folder, filename) process_image(input_path, output_path, 800, 600)
在这个示例中,我们使用os.listdir()
函数获取输入文件夹中的所有文件名,并通过os.path.join()
函数将文件名与文件夹路径拼接成完整的文件路径。
然后,我们使用endswith()
方法来检查文件名的后缀是否为".jpg"或".png",以便仅处理这些图片文件。
最后,我们调用上述process_image()
Langkah 5: Gelung melalui folder input dan proses kelompok
rrreee
Dalam contoh ini, kami menggunakan fungsios.listdir()
untuk mendapatkan semua nama fail dalam folder input, Dan gunakan fungsi os.path.join()
untuk menggabungkan nama fail dan laluan folder ke dalam laluan fail yang lengkap. Kemudian, kami menggunakan kaedah endswith()
untuk menyemak sama ada akhiran nama fail ialah ".jpg" atau ".png" supaya hanya fail imej ini boleh diproses. process_image()
di atas, melepasi laluan input, laluan output dan saiz imej yang diperlukan sebagai parameter. Dalam contoh ini, kami menetapkan saiz imej kepada 800x600 piksel. Atas ialah kandungan terperinci Bagaimana untuk memproses imej secara berkumpulan menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!