Rumah >Peranti teknologi >industri IT >Memanipulasi gambar dengan perpustakaan pengimejan python
Python Image Processing Library Pil/Bantal Bermula Panduan
mata teras
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:
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:
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:
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.
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)
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.
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
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!