画像の操作にPILの代わりに使用するpython-3とは何ですか?
「フレンドリーPILフォーク」Pillow はPython 2および3で動作します。サポートマトリックスなどについては、 Githubプロジェクト をご覧ください。
Christoph Gohlkeは、3.3までのpythonバージョンのPIL(Windowsのみ)をビルドできました。 http://www.lfd.uci.edu/~gohlke/pythonlibs/
Python 3.2で彼のバージョンの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年に最後に更新され、WebサイトではPython 3ポートで作業していると書かれていますが、3年が経ち、メーリングリストは冷たくなっています。
Python 3画像操作の問題を解決するために、subprocess.call()
を使用してImageMagickシェルコマンドを実行しています。この方法は機能します。
サブプロセスモジュールのドキュメント を参照してください。
Pillow libraryが必要な場合、Python 3にインストールする方法は次のとおりです。
pip3 install Pillow
それがうまくいかない場合(そうすべきです)、通常のpip
を試してください:
pip install Pillow
私のパッケージ mahotas on Pythonを使用できます。3. PILベースではなく、numpyベースです。
必要なものによっては、 scikit-image が最良の選択であり、操作はPILおよびPillowの現在のバージョンをはるかに超えています。少なくとも枕と同じくらい、非常によく維持されます。また、基礎となるデータ構造はNumpyとScipyからのものであるため、コードが非常に相互運用可能です。枕が処理できない例:
Python3を使用している場合は、Python 2および3で機能するライブラリPILasOPENCVを使用することもできます。関数api呼び出しはPILまたはPillowと同じですが、内部的にOpenCVおよびnumpyと連携してロード、保存、画像を操作します。 https://github.com/bunkahle/PILasOPENCV をご覧になるか、pip install PILasOPENCVでインストールしてください。すべてのPIL機能がシミュレートされているわけではありませんが、最も一般的な機能が動作します。