最近、少なくとも基本的な程度の画像処理を必要とする問題に遭遇しました。これをPythonで実行できますか?もしそうなら、何を使用しますか?
回答:
最もよく知られているライブラリはPILです。ただし、基本的な操作を行うだけの場合は、ImageMagickのPythonバインディングを使用したほうがよいでしょう。これは、Pythonで変換を作成するよりもはるかに効率的です。
「画像処理」の意味によっては、numpyベースのライブラリであるmahotasの方が適している場合があります。、scikits.image、またはscipy.ndimage)を勧めします。これらはすべてnumpy配列に基づいて機能するため、あるライブラリと別のライブラリの関数を組み合わせて組み合わせることができます。
これらの詳細が記載されているWebサイトhttp://pythonvision.orgを開始しました。
scikit-image
現在、scikit-image.orgで
scipy.ndimage
リンクが切れています。現在のリンク、おそらく:scipy.github.io/devdocs/tutorial/ndimage.html
また、「標準」科学的なモジュールに基づいて画像処理へのアプローチを持っている:scipyのダウンロードは:画像処理専用のパッケージ全体持っscipy.ndimageを。Scipyは、事実上、標準の一般的な数値計算パッケージです。これは、デファクトスタンダードの配列操作モジュールNumPyに基づいています。画像は数値の配列として操作することもできます。画像の表示に関しては、Matplotlib(これも「科学三部作」の一部)により、画像の表示が非常に簡単になります。
SciPyは現在も積極的に維持されているため、将来に向けた優れた投資です。さらに、SciPyは現在Python 3でも実行されますが、Python Imaging Library(PIL)は実行されません。
import scipy
、PILをインストールしなくても実行できます(でimport Image
失敗しますImportError
)。
リストを完成させるには:opencv http://opencv.willowgarage.com/documentation/python/index.html
実際には素晴らしいPythonImaging Library(PIL)があります。アンチエイリアシング機能を含む既存の画像を変更したり、テキストなどを使用して新しい画像を作成したりすることができます。また、前述のサイトで提供されているPILハンドブックにも適切な入門チュートリアルがあります。
カスタム画像処理効果を作成している場合は、PythonPixelsが役立つ場合があります。 http://halfhourhacks.blogspot.com/2008/03/pythonpixels.html これは、画像処理の作成と実験を目的としています。
VIPSは高速で、複数のCPUを使用する必要があります。
https://github.com/libvips/libvips/wiki/Speed-and-memory-use