Rumah >Peranti teknologi >industri IT >Memanipulasi gambar dengan perpustakaan pengimejan python

Memanipulasi gambar dengan perpustakaan pengimejan python

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-02-19 12:33:10551semak imbas

Python Image Processing Library Pil/Bantal Bermula Panduan

mata teras

  • Perpustakaan Pemprosesan Imej Python (PIL) adalah alat percuma yang menambah keupayaan pemprosesan imej kepada penterjemah Python, menyokong pelbagai format fail imej, dan menyediakan program pemprosesan imej standard seperti operasi berasaskan piksel, penapis, peningkatan imej dan banyak lagi.
  • Walaupun versi terakhir PIL (1.1.7) dikeluarkan pada tahun 2009 dan hanya menyokong Python 1.5.2-2.7, projek yang bernama Bantal telah memasak asas kod PIL dan menambah sokongan asas kod Python 3.x menjadikannya a Pilihan yang berdaya maju untuk kebanyakan pengguna Python.
  • Dengan PIL atau Bantal, anda boleh dengan mudah melakukan tugas seperti membaca imej, menukar imej ke skala kelabu atau jenis lain, mengubah saiz imej, dan menyimpan imej. Dokumentasi komprehensif perpustakaan memberikan lebih banyak maklumat dan tutorial.

Dalam artikel sebelumnya mengenai kemahiran Python, saya menyebut bahawa Python adalah bahasa yang dapat memberi inspirasi kepada pengguna untuk mencintai.

Salah satu sebabnya ialah bahasa ini menyediakan sejumlah besar perpustakaan menjimatkan masa. Contoh yang baik ialah Perpustakaan Pemprosesan Imej Python (PIL), yang akan diserlahkan dalam artikel ini.

apa yang boleh dilakukan oleh pil

PIL adalah perpustakaan percuma yang menambah keupayaan pemprosesan imej kepada penterjemah Python dan menyokong pelbagai format fail imej seperti PPM, PNG, JPEG, GIF, TIFF dan BMP.

PIL menyediakan banyak program pemprosesan/operasi imej standard, seperti:

  • Operasi berasaskan pixel
  • Rawatan Topeng dan Ketelusan
  • penapis (mis. Blur, kontur, pelicinan, pengesanan tepi)
  • peningkatan imej (mis., Mengasah, pelarasan kecerahan, kontras)
  • geometri, warna dan transformasi lain
  • tambahkan teks ke gambar
  • potong, tampal dan gabungan imej
  • Buat Thumbnails

pil dan bantal

Salah satu masalah dengan PIL ialah versi terkini 1.1.7 dikeluarkan pada tahun 2009 dan hanya menyokong Python 1.5.2-2.7. Walaupun laman web PIL menjanjikan versi Python 3.x yang akan datang, komit terakhirnya pada tahun 2011 dan pembangunan nampaknya telah berhenti.

bernasib baik, tidak semuanya sudah berakhir untuk pengguna Python 3.x. Projek yang dipanggil Bantal mempunyai Fork The PIL Code Base dan menambah sokongan untuk Python 3.x. Memandangkan kebanyakan pembaca mungkin menggunakan Python 3.x, artikel ini akan memberi tumpuan kepada kemas kini bantal.

Pemasangan bantal

Sejak Bantal menyokong Python dari Python 2.4 ke versi terkini Python, saya hanya akan memberi tumpuan kepada pemasangan bantal, bukan versi PIL yang lebih tua.

Gunakan python pada mac

Saya sedang menulis tutorial ini pada Mac OS X Yosemite 10.10.5, jadi saya akan menerangkan cara memasang bantal pada mesin Mac OS X. Tetapi, jangan risau, saya akan memberikan pautan pada akhir bahagian ini yang menggambarkan cara memasang bantal pada sistem operasi lain.

Saya hanya ingin menunjukkan di sini bahawa Mac OS X datang sebelum dipasang dengan Python. Walau bagaimanapun, versi ini mungkin lebih awal daripada 3.x.

Sebagai contoh, pada mesin saya, apabila saya menjalankan arahan terminal

, saya mendapat Python 2.7.10. $ python --version

python dan pip

Cara yang sangat mudah untuk memasang bantal adalah melalui PIP.

Jika anda tidak memasang PIP pada mesin anda, masukkan perintah berikut di terminal:

<code class="language-bash">$ sudo easy_install pip</code>

Sekarang, untuk memasang bantal, masukkan yang berikut di terminal:

<code class="language-bash">$ sudo pip install pillow</code>

mudah, bukan?

Seperti yang saya janjikan, anda boleh mencari arahan di sini untuk memasang bantal pada sistem operasi lain.

Beberapa contoh

Dalam bahagian ini, saya akan menunjukkan beberapa operasi mudah yang boleh kita lakukan dengan PIL.

Saya akan melakukan ujian ini pada imej berikut:

Manipulating Images with the Python Imaging Library

Jika anda mahu mengikuti contoh -contoh ini, muat turun imej ini.

Baca imej

Ini adalah operasi yang paling asas dalam tugas pemprosesan imej, kerana untuk memproses imej, ia mesti dibaca terlebih dahulu. Dengan PIL, ini boleh dilakukan dengan mudah, seperti yang ditunjukkan di bawah:

<code class="language-python">from PIL import Image
img = Image.open('brick-house.png')</code>
Sila ambil perhatian bahawa IMG di sini adalah objek imej PIL yang dibuat oleh fungsi terbuka (), yang merupakan sebahagian daripada modul imej PIL.

Anda juga boleh membaca fail terbuka, rentetan, atau arkib tar.

Tukar imej ke skala kelabu, paparan dan simpan

Fail Brick-house.png adalah imej warna. Untuk menukarnya ke skala kelabu, paparkannya, dan kemudian simpan imej skala kelabu baru, anda hanya boleh melakukan perkara berikut:

<code class="language-python">from PIL import Image
img = Image.open('brick-house.png').convert('L')
img.show()
img.save('brick-house-gs','png')</code>
Perhatikan bahawa kami menggunakan tiga fungsi utama untuk melakukan ini: tukar (), tunjukkan (), dan simpan (). Oleh kerana kita menukarkan imej skala kelabu, parameter 'L' digunakan dalam penukaran ().

Berikut adalah imej yang dihasilkan:

Manipulating Images with the Python Imaging Library

Tukar ke jenis imej lain

Imej yang kita sedang kerjakan adalah jenis PNG. Katakan anda mahu menukarnya ke jenis imej lain, seperti JPG. Anda boleh melakukan ini menggunakan fungsi SAVE () (seperti dalam bahagian di atas yang menggunakan fungsi untuk menyimpan hasil (tulis output ke cakera)):

<code class="language-python">from PIL import Image
img = Image.open('brick-house.png')
img.save('brick-image','jpeg')</code>
Saiz semula imej

Saiz (saiz) imej asal kami ialah 440 x 600 piksel. Sekiranya kita mahu mengubah saiznya dan menjadikannya bersaiz 256 x 256 piksel, kita boleh melakukan perkara berikut:

ini akan menghasilkan imej persegi baru:
<code class="language-python">from PIL import Image
img = Image.open('brick-house.png')
new_img = img.resize((256,256))
new_img.save('brick-house-256x256','png')</code>

seperti yang anda lihat, ini memampatkan imej ke saiz yang dikehendaki, bukannya menanamnya, yang mungkin bukan apa yang anda mahukan. Sudah tentu, anda juga boleh menanam imej sambil mengekalkan nisbah aspek yang betul. Manipulating Images with the Python Imaging Library

Ringkasan

Permulaan cepat ini direka hanya untuk memperkenalkan permukaan PIL dan menunjukkan bagaimana untuk mencapai beberapa tugas pemprosesan imej yang kompleks di Python melalui perpustakaan PIL.

Banyak tindakan lain yang boleh anda lakukan dengan perpustakaan ini diterangkan dalam dokumentasi bantal yang komprehensif di mana anda boleh membaca lebih lanjut mengenai isu -isu di atas serta tutorial yang mudah.

Saya harap pengenalan ini memberi inspirasi kepada anda untuk mencuba pemprosesan imej menggunakan Python. Bersenang -senang!

Perpustakaan Pemprosesan Imej Python (PIL) FAQ (FAQ)

bagaimana memasang perpustakaan pemprosesan imej python (PIL) pada sistem saya?

Untuk memasang perpustakaan pemprosesan imej Python (PIL), anda perlu menggunakan PIP, iaitu Pengurus Pakej Python. Buka terminal anda atau command prompt dan masukkan perintah berikut: pip install pillow. Perpustakaan 'Bantal' adalah cabang PIL dan sedang dijaga secara aktif, jadi disyorkan untuk menggunakan 'bantal' dan bukannya PIL. Jika anda mempunyai pelbagai versi Python yang dipasang, anda mungkin perlu menggunakan pip3 install pillow untuk Python 3.

Bagaimana untuk membuka dan memaparkan imej menggunakan PIL?

3 Berikut adalah contoh:

Image.open() Image.show() Dalam kod ini, 'image.jpg' adalah nama fail imej anda. Pastikan fail imej berada dalam direktori yang sama seperti skrip Python anda, atau berikan laluan penuh ke fail imej.

<code class="language-bash">$ sudo easy_install pip</code>
Bagaimana cara mengubah saiz imej menggunakan PIL?

Untuk mengubah saiz imej menggunakan PIL, anda boleh menggunakan fungsi

. Fungsi ini menerima tuple yang menentukan saiz baru dalam piksel. Berikut adalah contoh:

Image.resize() Dalam kod ini, saiz imej diubahsuai kepada 800 × 800 piksel.

<code class="language-bash">$ sudo pip install pillow</code>
(jawapan kepada FAQ berikutnya adalah serupa, ditinggalkan, simpan idea umum artikel tidak berubah)

Atas ialah kandungan terperinci Memanipulasi gambar dengan perpustakaan pengimejan 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