Görüntüleri manipüle etmek için PIL yerine python-3 ne kullanıyor?
Pillow
, yerine bir yedek olması gereken PyPI'den kurulmalıdır PIL
; bu Python 2'de de tercih edilen pakettir.
Görüntüleri manipüle etmek için PIL yerine python-3 ne kullanıyor?
Pillow
, yerine bir yedek olması gereken PyPI'den kurulmalıdır PIL
; bu Python 2'de de tercih edilen pakettir.
Yanıtlar:
"Dost PIL çatal" Yastık Python 2 ve 3 üzerinde çalışır . Destek matrisi vb. İçin Github projesine göz atın .
pip3 install Image
(ben bilmeden yastık kullanıyordu) ve senifrom PIL import Image
. Ayrıca şimdi tüm büyük platformları destekliyor . Python3 için bir PIL ararken, bu kesinlikle seçimdir.
Christoph Gohlke 3.3'e kadar olan python sürümleri için PIL (yalnızca Windows için) oluşturmayı başardı: http://www.lfd.uci.edu/~gohlke/pythonlibs/
Python 3.2 ile PIL sürümünü denedim ve görüntü açma / oluşturma / piksel manipülasyonu / tüm çalışmaları kaydetme.
Qt grafikler ile çok iyi çalışıyor. Bence PIL'den daha çok yönlü.
Grafik manipülasyonu için istediğiniz tüm özelliklere sahip olursunuz, ancak vektör grafikleri ve hatta gerçek yazıcılar için destek de vardır. Ve bunların hepsi tek bir API'de QPainter
.
Qt kullanmak için bunun için bir Python bağlaması gerekir: PySide veya PyQt4 .
Her ikisi de Python 3'ü destekliyor.
Bir JPG görüntüsü yükleyen , bu koordinatlarda olan pikselin rengiyle koordinatlarda (20, 20) yarıçapı 10 olan antialiasiye edilmiş bir daire çizen ve değiştirilen görüntüyü PNG dosyası olarak kaydeden basit bir örnek :
from PySide.QtCore import *
from PySide.QtGui import *
app = QCoreApplication([])
img = QImage('input.jpg')
g = QPainter(img)
g.setRenderHint(QPainter.Antialiasing)
g.setBrush(QColor(img.pixel(20, 20)))
g.drawEllipse(QPoint(20, 20), 10, 10)
g.end()
img.save('output.png')
Ancak, bu çözümün oldukça 'ağır' olduğunu unutmayın, çünkü Qt, GUI uygulamaları yapmak için geniş bir çerçevedir.
30 Mart 2012 itibariyle GitHub'da sloonz çatalı görüntüleri açmaya çalıştım ve başarısız oldum. Tamam derlemek için aldım, ama aslında işe yaramadı. Ayrıca gohlke'nin kütüphanesini oluşturmayı denedim ve aynı zamanda derlendi, ancak herhangi bir görüntü açamadı. Birisi yukarıda PythonMagick'ten bahsetti, ancak sadece Windows'ta derlendi. WxPython wiki'deki PythonMagick'e bakın .
PIL en son 2009'da güncellendi ve web sitesi bir Python 3 bağlantı noktasında çalıştıklarını söylese de, 3 yıl geçti ve posta listesi soğudu.
Python 3 görüntü işleme sorunumu çözmek subprocess.call()
için ImageMagick kabuk komutlarını yürütmek için kullanıyorum . Bu yöntem işe yarar.
Alt işlem modülü belgelerine bakın .
Python 3'te paket mahotalarımı kullanabilirsiniz . PIL yerine numpy tabanlı.
Yastık kütüphanesini istiyorsunuz, Python 3'e nasıl kuracağınız aşağıda açıklanmıştır:
pip3 install Pillow
Bu sizin için işe yaramazsa (gerekir), normal deneyin pip
:
pip install Pillow
Gerekli olana bağlı olarak, scikit-görüntü en iyi seçim olabilir, manipülasyonlar PIL'in ve yastıkın mevcut versiyonunun ötesine geçer. Çok bakımlı, en az Yastık kadar. Ayrıca, temeldeki veri yapıları, kodunu inanılmaz derecede birlikte çalışabilir hale getiren Numpy ve Scipy'den. Yastığın kaldıramayacağı örnekler:
Gücünü galeride görebilirsiniz . Bu makale buna büyük bir giriş sağlar. İyi şanslar!
Python3 kullanıyorsanız, Python 2 ve 3'te çalışan PILasOPENCV kütüphanesini de kullanabilirsiniz. İşlev api çağrıları PIL veya yastık ile aynıdır, ancak dahili olarak görüntüleri yüklemek, kaydetmek ve değiştirmek için OpenCV ve numpy ile çalışır. Https://github.com/bunkahle/PILasOPENCV adresine bir göz atın veya PILasOPENCV pip kurulumuyla kurun. Tüm PIL işlevleri simüle edilmemiştir, ancak en yaygın işlevler çalışır.