Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memproses imej secara berkumpulan menggunakan Python

Bagaimana untuk memproses imej secara berkumpulan menggunakan Python

王林
王林asal
2023-08-26 17:39:181917semak imbas

Bagaimana untuk memproses imej secara berkumpulan menggunakan Python

Cara memproses imej secara berkumpulan menggunakan Python

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

Anda boleh menambah operasi pemprosesan imej lain pada fungsi ini mengikut keperluan anda sendiri, seperti pemangkasan, putaran, dsb.


Langkah 5: Gelung melalui folder input dan proses kelompok

Sekarang kita boleh menulis gelung utama untuk menggelung melalui semua imej dalam folder input dan proses kelompok setiap imej. Contoh berikut menunjukkan cara untuk lelaran melalui folder input dan memanggil fungsi pemprosesan imej di atas:

rrreee

Dalam contoh ini, kami menggunakan fungsi os.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.
  • Akhir sekali, kami memanggil fungsi 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.
  • Ringkasan:
  • Dengan menggunakan perpustakaan Bantal Python, kami boleh mengumpulkan imej proses dengan mudah. Artikel ini memperkenalkan contoh cara menggunakan perpustakaan Bantal untuk mengubah saiz imej dan menyediakan contoh kod lengkap. Anda boleh melanjutkan kod ini untuk menambah operasi pemprosesan imej lain mengikut keperluan anda. Mula menggunakan Python untuk memproses imej secara berkumpulan dan meningkatkan kecekapan kerja!
🎜Di atas adalah pengenalan kepada cara menggunakan Python untuk memproses imej secara berkumpulan. Sama ada dalam projek peribadi atau aplikasi komersial, petua ini akan membantu anda menjimatkan masa dan tenaga. Harap artikel ini dapat membantu anda. 🎜🎜Rujukan: 🎜🎜🎜Perpustakaan Pengimejan Python (PIL https://pypi.org/project/Pillow/🎜🎜Python Software Foundation ://pillow.readthedocs.io/en/stable/handbook/index.html🎜🎜

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!

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