2009-09-13 48 views
12

最近画像処理に戻ってきました。以前私が使っていたほとんどはMatlabでした。私はより便利でオープンな言語に切り替える必要があります。画像処理ライブラリ

PythonライブラリPILを使って、組み込みの3x3と5x5のフィルタカーネルしか持っていなかったことを熟知してから、私は誰かが良い画像処理ライブラリを知っているかどうかここで尋ねることにしました。

既存の画像処理ライブラリ(言語)は何ですか? 早く成熟していますか早い段階ですか?私の知る限りITKは、医療イメージングのために使用されて知っているよう

+0

どのような機能を実行しますか?あなたは図書館のフル機能をどのように必要としていますか? –

+0

@ジェームス、私のニーズは今はかなり小さいですが、この質問を可能な限り広げてみましょう。少なくとも、任意のカーネルでフィルタリングできることは、まともな画像処理ライブラリにとって必須です。私はFFTや幾何学的変換のようなものも基本の一部であると思います。 – glmxndr

答えて

4

python Scipy libraryをチェックしてください。これは、オープンソースの高速n次元配列操作ライブラリです。これは、すべての基本的な画像処理ツールを持っている:それは、MATLABのImage Processing Toolboxのすべてのより高度な機能を持っていない

。しかし、Verebが示唆しているように、多くのものがITK(Pythonのフレーバーでも利用可能)にあります。

あなたのように私はPythonのような動的言語にmatlabから抜け出したいと思っています。そして、あなたと同じように、私はPythonのImageMagickであることに気づいたとき、PILには失望しました。イメージの読み書きにはPILを使用する必要があります。 pythonでMatlabライクな画像処理の経験を取得するには

Numpy/ScipyMatplotlibSpyderを取得します。これらのすべては、ウィンドウの場合にのみPython(X,Y)に便利にパッケージ化されています。

2

OpenCVのは、Pythonバインディングhttp://opencv.willowgarage.comを持っています。

+0

openCVがインストールされている場合はIPPを使用します –

12

OpenCVはCで非常に高速で成熟したものです。悪い面はオブジェクト指向ではないことです。これは私が推測するあなたの基準の1つではありません。接続コンポーネント分析のような多くの機能が含まれています。

JAI(Java Advanced Imaging)は高速で非常に成熟しており、オブジェクト指向です。このライブラリではウォーミングアップに少し時間がかかることがあります。しかし、強力で管理しやすい。

OpenCVのためにいくつかの学術研究やプロトタイプ作成を計画している場合は、商用または大規模ソフトウェアを開発することを目的としている場合は、JAIをお勧めします。

UPDATE

OpenCVのは今C++とPythonのAPIを持っています。私はOpenCV C++を3週間使用していますが、APIはC APIよりも優れています。 OpenCVはより安定しており、コミュニティは成長しています。また、OpenCVに高度なアルゴリズムを使用する準備ができています。それは検討する価値がある。

6

私は驚いています。ImageMagickです。これは非常に普及しているオープンソースの画像処理ライブラリであり、実際にどの言語でもバインディングを持っています。

+0

ImageMagickも多くのタスクで非常に遅いです。 – unixman83

3

インテルパフォーマンスプリミティブは非常に高速で非常に成熟しています。ほとんどの機能は、線形フィルタ、算術演算、FFT、ウェーブレット、幾何学変換(〜)など、低レベルですが、いくつかの高レベルアルゴリズムも含まれています。修復またはセグメンテーションのために。非常に速く、よく文書化されています。私は間違いなく商用開発のためにそれをお勧めします(オープンソースライセンスがあるかどうか不明)。

0

GDALは、different image formatsの成熟プロキシとして機能します。 Pythonを含む複数の言語のバインディング

2

誰かが触れたように、VTKを視覚化ツールキットとして使用できるITKを使用することができます。唯一の問題は、Pythonラッパーを使用しようとすると構築が難しいことです(サードパーティのオープンソースプロジェクトwrapITKを構築しようとするとさらに難しくなります)。

しかし、あなたはの-ボックスアウトとPythonで実行されているのpython(x、y)は、すべてのこれらのツールが付属しています(そして多くの)を使用することができます http://www.pythonxy.com

はそれがお役に立てば幸いです。

2

最も高速でプロフェッショナルな画像処理ライブラリ(および完全なSDK)はHALCONです。 (www.mvtec.com)オープンソースではありませんが、C#、C++、C、VB.Netなどを完全にサポートしています...