O Qt funciona muito bem com gráficos. Na minha opinião, é mais versátil que o PIL.
Você obtém todos os recursos que deseja para manipulação de gráficos, mas também existem gráficos vetoriais e até suporte para impressoras reais. E tudo isso em uma API uniforme QPainter,.
Para usar o Qt, você precisa de uma ligação Python: PySide ou PyQt4 .
Ambos suportam Python 3.
Aqui está um exemplo simples que carrega uma imagem JPG, desenha um círculo antialias de raio 10 nas coordenadas (20, 20) com a cor do pixel que estava nessas coordenadas e salva a imagem modificada como um arquivo PNG:
Em 30 de março de 2012, tentei e não consegui colocar o garfo sloonz no GitHub para abrir imagens. Eu consegui compilar ok, mas na verdade não funcionou. Também tentei criar a biblioteca do gohlke, que também compilou, mas não conseguiu abrir nenhuma imagem. Alguém mencionou o PythonMagick acima, mas ele é compilado apenas no Windows. Veja PythonMagick no wiki do wxPython .
O PIL foi atualizado pela última vez em 2009 e, embora o site diga que eles estão trabalhando em uma porta Python 3, faz 3 anos e a lista de discussão ficou fria.
Para resolver meu problema de manipulação de imagem no Python 3, estou usando subprocess.call()para executar comandos de shell do ImageMagick. Este método funciona.
Dependendo do que for necessário, o scikit-image pode ser a melhor escolha, com manipulações que vão muito além do PIL e da versão atual do Pillow. Muito bem conservado, pelo menos tanto quanto travesseiro. Além disso, as estruturas de dados subjacentes são da Numpy e Scipy, o que torna seu código incrivelmente interoperável. Exemplos que o travesseiro não pode lidar:
Você pode ver seu poder na galeria . Este artigo fornece uma ótima introdução a ele. Boa sorte!
Se você estiver no Python3, também poderá usar a biblioteca PILasOPENCV, que funciona no Python 2 e 3. As chamadas de API de função são as mesmas do PIL ou travesseiro, mas internamente funciona com OpenCV e numpy para carregar, salvar e manipular imagens. Dê uma olhada em https://github.com/bunkahle/PILasOPENCV ou instale-o com o pip install PILasOPENCV. Nem todas as funções PIL foram simuladas, mas as funções mais comuns funcionam.
Pillow
partir do PyPI, que deve ser um substituto paraPIL
; este é o pacote preferido no Python 2 também.Respostas:
O travesseiro "amigável PIL fork" funciona no Python 2 e 3 . Confira o projeto Github para matriz de suporte e assim por diante.
fonte
pip3 install Image
(eu estava usando travesseiro sem saber) e vocêfrom PIL import Image
. Ele também suporta todas as principais plataformas agora. Ao procurar um PIL para python3, essa é definitivamente a escolha.Christoph Gohlke conseguiu criar o PIL (apenas para Windows) para versões python até 3.3: http://www.lfd.uci.edu/~gohlke/pythonlibs/
Eu tentei a sua versão do PIL com Python 3.2 e a imagem abre / cria / manipulação de pixels / salva todo o trabalho.
fonte
O Qt funciona muito bem com gráficos. Na minha opinião, é mais versátil que o PIL.
Você obtém todos os recursos que deseja para manipulação de gráficos, mas também existem gráficos vetoriais e até suporte para impressoras reais. E tudo isso em uma API uniforme
QPainter
,.Para usar o Qt, você precisa de uma ligação Python: PySide ou PyQt4 .
Ambos suportam Python 3.
Aqui está um exemplo simples que carrega uma imagem JPG, desenha um círculo antialias de raio 10 nas coordenadas (20, 20) com a cor do pixel que estava nessas coordenadas e salva a imagem modificada como um arquivo PNG:
Mas observe que esta solução é bastante 'pesada', porque o Qt é uma estrutura grande para criar aplicativos de GUI.
fonte
Em 30 de março de 2012, tentei e não consegui colocar o garfo sloonz no GitHub para abrir imagens. Eu consegui compilar ok, mas na verdade não funcionou. Também tentei criar a biblioteca do gohlke, que também compilou, mas não conseguiu abrir nenhuma imagem. Alguém mencionou o PythonMagick acima, mas ele é compilado apenas no Windows. Veja PythonMagick no wiki do wxPython .
O PIL foi atualizado pela última vez em 2009 e, embora o site diga que eles estão trabalhando em uma porta Python 3, faz 3 anos e a lista de discussão ficou fria.
Para resolver meu problema de manipulação de imagem no Python 3, estou usando
subprocess.call()
para executar comandos de shell do ImageMagick. Este método funciona.Consulte a documentação do módulo de subprocesso .
fonte
Você pode usar minhas mahotas de pacotes no Python 3. É baseado em numpy e não em PIL.
fonte
Você quer a biblioteca Pillow , aqui está como instalá-la no Python 3:
Se isso não funcionar para você (deveria), tente normal
pip
:fonte
Dependendo do que for necessário, o scikit-image pode ser a melhor escolha, com manipulações que vão muito além do PIL e da versão atual do Pillow. Muito bem conservado, pelo menos tanto quanto travesseiro. Além disso, as estruturas de dados subjacentes são da Numpy e Scipy, o que torna seu código incrivelmente interoperável. Exemplos que o travesseiro não pode lidar:
Você pode ver seu poder na galeria . Este artigo fornece uma ótima introdução a ele. Boa sorte!
fonte
Se você estiver no Python3, também poderá usar a biblioteca PILasOPENCV, que funciona no Python 2 e 3. As chamadas de API de função são as mesmas do PIL ou travesseiro, mas internamente funciona com OpenCV e numpy para carregar, salvar e manipular imagens. Dê uma olhada em https://github.com/bunkahle/PILasOPENCV ou instale-o com o pip install PILasOPENCV. Nem todas as funções PIL foram simuladas, mas as funções mais comuns funcionam.
fonte