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