Python 3 için görüntü kütüphanesi


154

Görüntüleri manipüle etmek için PIL yerine python-3 ne kullanıyor?


Medya modülünü kontrol ettiniz mi? (import media)
inspectorG4dget

@ inspectorG4dget: medya, standart python3 kütüphanesinde değil
banx

PIL'in de standart olduğunu düşünmüyordum. Ama yanılmışım gibi görünüyor
inspectorG4dget

2
@ inspectorG4dget: Hayır, haklısın, PIL standart kütüphanede değil.
Janus Troelsen

Biri Pillow, yerine bir yedek olması gereken PyPI'den kurulmalıdır PIL; bu Python 2'de de tercih edilen pakettir.
Antti Haapala

Yanıtlar:



19

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.


14

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.


7

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 .



6

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

3

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:

Bölge Bitişiklik Grafiği Birleştirme

Radon Dönüşümü

Yönelimli gradyanların histogramı

Çokgenleri yaklaşık ve alt bölümlere ayırın

Gücünü galeride görebilirsiniz . Bu makale buna büyük bir giriş sağlar. İyi şanslar!


0

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.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.