Qt bekerja sangat baik dengan grafik. Menurut saya itu lebih fleksibel daripada PIL.
Anda mendapatkan semua fitur yang Anda inginkan untuk manipulasi grafik, tetapi ada juga grafik vektor dan bahkan dukungan untuk printer nyata. Dan semua itu dalam satu API yang seragam QPainter,.
Untuk menggunakan Qt, Anda memerlukan Python binding untuknya: PySide atau PyQt4 .
Keduanya mendukung Python 3.
Berikut adalah contoh sederhana yang memuat gambar JPG, menggambar lingkaran jari-jari antialiased 10 pada koordinat (20, 20) dengan warna piksel pada koordinat tersebut dan menyimpan gambar yang dimodifikasi sebagai file PNG:
Pada 30 Maret 2012, saya telah mencoba dan gagal mendapatkan garpu sloonz di GitHub untuk membuka gambar. Saya mendapatkannya untuk dikompilasi ok, tetapi tidak benar-benar berfungsi. Saya juga mencoba membangun perpustakaan gohlke, dan itu dikompilasi juga tetapi gagal untuk membuka gambar apa pun. Seseorang menyebutkan PythonMagick di atas, tetapi hanya dikompilasi pada Windows. Lihat PythonMagick di wxPython wiki .
PIL terakhir diperbarui pada tahun 2009, dan sementara situs webnya mengatakan mereka bekerja pada port Python 3, sudah 3 tahun, dan milis sudah dingin.
Untuk mengatasi masalah manipulasi gambar Python 3 saya, saya menggunakan subprocess.call()untuk mengeksekusi perintah shell ImageMagick. Metode ini berhasil.
Tergantung pada apa yang dibutuhkan, scikit-image mungkin menjadi pilihan terbaik, dengan manipulasi melampaui PIL dan versi Bantal saat ini. Sangat terawat dengan baik, setidaknya sebanyak Bantal. Juga, struktur data yang mendasarinya adalah dari Numpy dan Scipy, yang membuat kodenya sangat interoperable. Contoh yang tidak bisa ditangani bantal:
Anda dapat melihat kekuatannya di galeri . Makalah ini memberikan pengantar yang bagus untuk itu. Semoga berhasil!
Jika Anda menggunakan Python3, Anda juga dapat menggunakan PILasOPENCV pustaka yang bekerja di Python 2 dan 3. Fungsi panggilan api sama seperti di PIL atau bantal tetapi secara internal ia bekerja dengan OpenCV dan numpy untuk memuat, menyimpan dan memanipulasi gambar. Lihat https://github.com/bunkahle/PILasOPENCV atau instal dengan pip instal PILasOPENCV. Tidak semua fungsi PIL telah disimulasikan tetapi fungsi yang paling umum berfungsi.
Pillow
dari PyPI yang harus menjadi pengganti drop-in untukPIL
; ini adalah paket yang disukai di Python 2 juga.Jawaban:
Bantal "friendly PIL fork" berfungsi pada Python 2 dan 3 . Lihatlah proyek Github untuk matriks dukungan dan sebagainya.
sumber
pip3 install Image
(saya menggunakan bantal tanpa mengetahui), dan Andafrom PIL import Image
. Ini juga mendukung semua platform utama sekarang. Ketika mencari PIL untuk python3, ini jelas merupakan pilihan.Christoph Gohlke berhasil membangun PIL (hanya untuk Windows) untuk versi python hingga 3.3: http://www.lfd.uci.edu/~gohlke/pythonlibs/
Saya mencoba versi PIL-nya dengan Python 3.2, dan image open / create / pixel manipulation / save all work.
sumber
Qt bekerja sangat baik dengan grafik. Menurut saya itu lebih fleksibel daripada PIL.
Anda mendapatkan semua fitur yang Anda inginkan untuk manipulasi grafik, tetapi ada juga grafik vektor dan bahkan dukungan untuk printer nyata. Dan semua itu dalam satu API yang seragam
QPainter
,.Untuk menggunakan Qt, Anda memerlukan Python binding untuknya: PySide atau PyQt4 .
Keduanya mendukung Python 3.
Berikut adalah contoh sederhana yang memuat gambar JPG, menggambar lingkaran jari-jari antialiased 10 pada koordinat (20, 20) dengan warna piksel pada koordinat tersebut dan menyimpan gambar yang dimodifikasi sebagai file PNG:
Tetapi harap dicatat bahwa solusi ini cukup 'kelas berat', karena Qt adalah kerangka kerja besar untuk membuat aplikasi GUI.
sumber
Pada 30 Maret 2012, saya telah mencoba dan gagal mendapatkan garpu sloonz di GitHub untuk membuka gambar. Saya mendapatkannya untuk dikompilasi ok, tetapi tidak benar-benar berfungsi. Saya juga mencoba membangun perpustakaan gohlke, dan itu dikompilasi juga tetapi gagal untuk membuka gambar apa pun. Seseorang menyebutkan PythonMagick di atas, tetapi hanya dikompilasi pada Windows. Lihat PythonMagick di wxPython wiki .
PIL terakhir diperbarui pada tahun 2009, dan sementara situs webnya mengatakan mereka bekerja pada port Python 3, sudah 3 tahun, dan milis sudah dingin.
Untuk mengatasi masalah manipulasi gambar Python 3 saya, saya menggunakan
subprocess.call()
untuk mengeksekusi perintah shell ImageMagick. Metode ini berhasil.Lihat dokumentasi modul subproses .
sumber
Anda dapat menggunakan paket mahotas saya di Python 3. Ini berbasis numpy daripada berbasis PIL.
sumber
Anda ingin pustaka Bantal , berikut ini cara menginstalnya di Python 3:
Jika itu tidak berhasil untuk Anda (seharusnya), cobalah yang normal
pip
:sumber
Tergantung pada apa yang dibutuhkan, scikit-image mungkin menjadi pilihan terbaik, dengan manipulasi melampaui PIL dan versi Bantal saat ini. Sangat terawat dengan baik, setidaknya sebanyak Bantal. Juga, struktur data yang mendasarinya adalah dari Numpy dan Scipy, yang membuat kodenya sangat interoperable. Contoh yang tidak bisa ditangani bantal:
Anda dapat melihat kekuatannya di galeri . Makalah ini memberikan pengantar yang bagus untuk itu. Semoga berhasil!
sumber
Jika Anda menggunakan Python3, Anda juga dapat menggunakan PILasOPENCV pustaka yang bekerja di Python 2 dan 3. Fungsi panggilan api sama seperti di PIL atau bantal tetapi secara internal ia bekerja dengan OpenCV dan numpy untuk memuat, menyimpan dan memanipulasi gambar. Lihat https://github.com/bunkahle/PILasOPENCV atau instal dengan pip instal PILasOPENCV. Tidak semua fungsi PIL telah disimulasikan tetapi fungsi yang paling umum berfungsi.
sumber