cari
RumahPeranti teknologiindustri ITMemanipulasi gambar dengan perpustakaan pengimejan python

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:

$ sudo easy_install pip

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

$ sudo pip install pillow

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:

from PIL import Image
img = Image.open('brick-house.png')
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:

from PIL import Image
img = Image.open('brick-house.png').convert('L')
img.show()
img.save('brick-house-gs','png')
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)):

from PIL import Image
img = Image.open('brick-house.png')
img.save('brick-image','jpeg')
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:
from PIL import Image
img = Image.open('brick-house.png')
new_img = img.resize((256,256))
new_img.save('brick-house-256x256','png')

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.

$ sudo easy_install pip
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.

$ sudo pip install pillow
(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
Surat berita pemaju 21 teratas untuk melanggan pada tahun 2025Surat berita pemaju 21 teratas untuk melanggan pada tahun 2025Apr 24, 2025 am 08:28 AM

Tinggal maklumat mengenai trend teknologi terkini dengan surat berita pemaju teratas ini! Senarai ini menawarkan sesuatu untuk semua orang, dari peminat AI ke pemaju backend dan frontend yang berpengalaman. Pilih kegemaran anda dan menjimatkan masa mencari rel

Paip pemprosesan imej tanpa pelayan dengan AWS ECS dan LambdaPaip pemprosesan imej tanpa pelayan dengan AWS ECS dan LambdaApr 18, 2025 am 08:28 AM

Tutorial ini membimbing anda melalui membina saluran paip pemprosesan imej tanpa pelayan menggunakan perkhidmatan AWS. Kami akan membuat frontend next.js yang digunakan pada kluster ECS Fargate, berinteraksi dengan Gateway API, Fungsi Lambda, Bucket S3, dan DynamoDB. Th

CNCF Arm64 Pilot: Impak dan WawasanCNCF Arm64 Pilot: Impak dan WawasanApr 15, 2025 am 08:27 AM

Program perintis ini, kerjasama antara CNCF (Yayasan Pengkomputeran Native Cloud), pengkomputeran ampere, equinix metal, dan digerakkan, menyelaraskan ARM64 CI/CD untuk projek GitHub CNCF. Inisiatif ini menangani kebimbangan keselamatan dan prestasi lim

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.