Qt bardzo dobrze współpracuje z grafiką. Moim zdaniem jest bardziej wszechstronny niż PIL.
Otrzymujesz wszystkie funkcje, których potrzebujesz do obróbki grafiki, ale jest też grafika wektorowa, a nawet obsługa prawdziwych drukarek. A wszystko to w jednym jednolitego interfejsu API QPainter.
Aby używać Qt, potrzebujesz powiązania Pythona: PySide lub PyQt4 .
Oba obsługują Python 3.
Oto prosty przykład, który ładuje obraz JPG, rysuje antyaliasowany okrąg o promieniu 10 o współrzędnych (20, 20) w kolorze piksela, który był na tych współrzędnych i zapisuje zmodyfikowany obraz jako plik PNG:
Od 30 marca 2012 r. Nie udało mi się pobrać widelca sloonz na GitHub do otwierania obrazów. Udało mi się to skompilować, ale tak naprawdę nie działało. Próbowałem także zbudować bibliotekę Gohlkego, a ona również skompilowała, ale nie udało mi się otworzyć żadnych obrazów. Ktoś wspomniał powyżej o PythonMagicku, ale kompiluje się on tylko w systemie Windows. Zobacz PythonMagick na wiki wxPython .
PIL został ostatnio zaktualizowany w 2009 roku i chociaż jego strona internetowa mówi, że pracują nad portem Python 3, minęły 3 lata, a lista mailingowa ostygła.
Aby rozwiązać mój problem z manipulacją obrazem w Pythonie 3, używam subprocess.call()do wykonywania poleceń powłoki ImageMagick. Ta metoda działa.
W zależności od potrzeb, scikit-image może być najlepszym wyborem, z manipulacjami wykraczającymi daleko poza PIL i obecną wersję Pillow. Bardzo zadbany, przynajmniej tak samo jak Pillow. Ponadto podstawowe struktury danych pochodzą od Numpy i Scipy, co sprawia, że jego kod jest niesamowicie interoperacyjny. Przykłady, z którymi poduszka nie radzi sobie:
Jego moc można zobaczyć w galerii . Ten artykuł stanowi świetne wprowadzenie do niego. Powodzenia!
Jeśli korzystasz z Python3, możesz również użyć biblioteki PILasOPENCV, która działa w Pythonie 2 i 3. Wywołania funkcji API są takie same jak w PIL lub poduszce, ale wewnętrznie działa z OpenCV i numpy do ładowania, zapisywania i manipulowania obrazami. Zajrzyj na https://github.com/bunkahle/PILasOPENCV lub zainstaluj go za pomocą pip install PILasOPENCV. Nie wszystkie funkcje PIL zostały zasymulowane, ale większość z nich działa.
Pillow
z PyPI, który powinien być zamiennikiemPIL
; jest to również preferowany pakiet w Pythonie 2.Odpowiedzi:
Poduszka "przyjazny widelec PIL" działa na Pythonie 2 i 3 . Sprawdź projekt Github, aby uzyskać matrycę wsparcia i tak dalej.
źródło
pip3 install Image
(używałem poduszki bez wiedzy), a tyfrom PIL import Image
. Obsługuje również teraz wszystkie główne platformy . Szukając PIL-a dla pythona3, jest to zdecydowanie wybór.Christoph Gohlke zdołał zbudować PIL (tylko dla Windows) dla wersji Pythona do 3.3: http://www.lfd.uci.edu/~gohlke/pythonlibs/
Wypróbowałem jego wersję PIL z Pythonem 3.2 i otwórz obraz / utwórz / manipuluj pikselami / zapisz całą pracę.
źródło
Qt bardzo dobrze współpracuje z grafiką. Moim zdaniem jest bardziej wszechstronny niż PIL.
Otrzymujesz wszystkie funkcje, których potrzebujesz do obróbki grafiki, ale jest też grafika wektorowa, a nawet obsługa prawdziwych drukarek. A wszystko to w jednym jednolitego interfejsu API
QPainter
.Aby używać Qt, potrzebujesz powiązania Pythona: PySide lub PyQt4 .
Oba obsługują Python 3.
Oto prosty przykład, który ładuje obraz JPG, rysuje antyaliasowany okrąg o promieniu 10 o współrzędnych (20, 20) w kolorze piksela, który był na tych współrzędnych i zapisuje zmodyfikowany obraz jako plik PNG:
Należy jednak pamiętać, że to rozwiązanie jest dość „ciężkie”, ponieważ Qt to duży framework do tworzenia aplikacji GUI.
źródło
Od 30 marca 2012 r. Nie udało mi się pobrać widelca sloonz na GitHub do otwierania obrazów. Udało mi się to skompilować, ale tak naprawdę nie działało. Próbowałem także zbudować bibliotekę Gohlkego, a ona również skompilowała, ale nie udało mi się otworzyć żadnych obrazów. Ktoś wspomniał powyżej o PythonMagicku, ale kompiluje się on tylko w systemie Windows. Zobacz PythonMagick na wiki wxPython .
PIL został ostatnio zaktualizowany w 2009 roku i chociaż jego strona internetowa mówi, że pracują nad portem Python 3, minęły 3 lata, a lista mailingowa ostygła.
Aby rozwiązać mój problem z manipulacją obrazem w Pythonie 3, używam
subprocess.call()
do wykonywania poleceń powłoki ImageMagick. Ta metoda działa.Zobacz dokumentację modułu podprocesu .
źródło
Możesz użyć moich mahotów pakietów w Pythonie 3. Jest on oparty raczej na numpy niż na PIL.
źródło
Chcesz bibliotekę Pillow , oto jak ją zainstalować w Pythonie 3:
Jeśli to nie zadziała (powinno), spróbuj normalnie
pip
:źródło
W zależności od potrzeb, scikit-image może być najlepszym wyborem, z manipulacjami wykraczającymi daleko poza PIL i obecną wersję Pillow. Bardzo zadbany, przynajmniej tak samo jak Pillow. Ponadto podstawowe struktury danych pochodzą od Numpy i Scipy, co sprawia, że jego kod jest niesamowicie interoperacyjny. Przykłady, z którymi poduszka nie radzi sobie:
Jego moc można zobaczyć w galerii . Ten artykuł stanowi świetne wprowadzenie do niego. Powodzenia!
źródło
Jeśli korzystasz z Python3, możesz również użyć biblioteki PILasOPENCV, która działa w Pythonie 2 i 3. Wywołania funkcji API są takie same jak w PIL lub poduszce, ale wewnętrznie działa z OpenCV i numpy do ładowania, zapisywania i manipulowania obrazami. Zajrzyj na https://github.com/bunkahle/PILasOPENCV lub zainstaluj go za pomocą pip install PILasOPENCV. Nie wszystkie funkcje PIL zostały zasymulowane, ale większość z nich działa.
źródło