画像の操作にPILの代わりにpython-3を使用していますか?
Pillow
PyPIからインストールする必要がありPIL
ます。これはPython 2でも推奨されるパッケージです。
画像の操作にPILの代わりにpython-3を使用していますか?
Pillow
PyPIからインストールする必要がありPIL
ます。これはPython 2でも推奨されるパッケージです。
回答:
「フレンドリーなPILフォーク」枕は、Python 2および3で動作します。Githubプロジェクトでサポートマトリックスなどを確認してください。
pip3 install Image
(私は知らずに枕を使っていました)、そしてあなたfrom PIL import Image
。また、現在はすべての主要なプラットフォームをサポートしています。python3のPILを探す場合、これは間違いなく選択です。
Qtはグラフィックスで非常にうまく機能します。私の意見では、PILよりも用途が広いです。
グラフィックス操作に必要なすべての機能を利用できますが、ベクターグラフィックスがあり、実際のプリンターもサポートされています。これらすべてを1つの統一されたAPIでQPainter
ます。
Qtを使用するには、Pythonバインディング(PySideまたはPyQt4)が必要です。
どちらもPython 3をサポートしています。
以下は、JPG画像を読み込み、座標( 20、20)に半径10のアンチエイリアス処理された円を、それらの座標にあったピクセルの色で描画し、変更した画像をPNGファイルとして保存する簡単な例です。
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')
ただし、QtはGUIアプリケーションを作成するための大きなフレームワークであるため、このソリューションはかなり「重い」ことに注意してください。
2012年3月30日の時点で、GitHubのsloonzフォークで画像を開くのに失敗しました。コンパイルは問題なくできましたが、実際には機能しませんでした。私もgohlkeのライブラリをビルドしてみましたが、それもコンパイルされましたが、イメージを開くことができませんでした。誰かが上記のPythonMagickについて言及しましたが、Windowsでのみコンパイルできます。wxPython wikiのPythonMagickを参照してください。
PILは2009年に最後に更新され、ウェブサイトは彼らがPython 3の移植に取り組んでいると述べていますが、それは3年経ち、メーリングリストは冷え込んでいます。
Python 3の画像操作の問題を解決するために、subprocess.call()
ImageMagickシェルコマンドの実行に使用しています。この方法は機能します。
サブプロセスモジュールのドキュメントを参照してください。
必要なものに応じて、scikit-imageがPILや現在のバージョンのPillowをはるかに超える操作で最適な選択になる場合があります。少なくとも枕と同じくらい、非常によくメンテナンスされています。また、基になるデータ構造はNumpyとScipyからのものであり、そのコードは信じられないほど相互運用可能です。枕が処理できない例:
Python3を使用している場合は、Python 2および3で機能するライブラリPILasOPENCVを使用することもできます。関数api呼び出しはPILまたは枕と同じですが、内部的にOpenCVおよびnumpyで機能して、画像の読み込み、保存、操作を行います。見てhttps://github.com/bunkahle/PILasOPENCVまたはピップPILasOPENCVをインストールすると、それをインストールします。すべてのPIL関数がシミュレーションされたわけではありませんが、最も一般的な関数が機能します。