画像処理コーディング


12

画像処理に最適な言語はどれかと思っていましたか?MATLABには優れたライブラリとユーザーコミュニティがあることがわかっています。私はそれをチェックアウトしていませんが、Pythonにもあります。

これに最も効率的な言語は何ですか?

回答:


12

それはプログラミング言語だけでなく、使用しているライブラリに関するものです。私は次のことを考えることができます:

MATLAB-画像処理機能は大丈夫ですが、より高度でリアルタイムの処理を行うには、低レベルのものが必要です。さらに、それは非常に良い移植性を提供しません。

Mathematica-プロトタイピングと迅速な視覚化に適していますが、それはすべて私の謙虚な意見です。

OpenCV-これはIPコミュニティで最も人気のあるライブラリだと思います。優れた機能( GPUコンピューティング、Machine Learningモジュール、GUI-他に何が必要ですか?)、高速であり、まだ開発中です(したがって、小さなバグはすぐに削除されます)。コミュニティについて-それは大きい!主にC / C ++プログラミング用ですが、Pythonも(おそらくあなたに適しています)。

JAI -Java Advanced Imaging-Javaが好きな場合のみ。個人的には、私はそれが好きではありません。

ImageMagick-多くのプログラミング言語で使用できます。APIを確認してください。

CxImage -MSペイントよりも優れたものを作成し、Photoshopの一部の機能を使用する場合に適しています。

CImg-明らかにC ++で使用されますが、OpenCVは依然として優れています。

PIL-多くの機能を備えたPython固有のライブラリ。あなたがそれを好きなら、あなたはよく見ることができます。

SimpleCV-基本的には、いくつかの調整を加えたOpenCV pythonバインディングです。非常に使いやすく、非常に効率的です。

scikit-image -Pythonライブラリもありますが、私の意見ではSimpleCVよりも悪い(私の友人はそれに同意しませんが)。1つの利点は、DAISY機能抽出機能が含まれていることです-高密度の機能が必要な場合に非常に便利です。

GIL - Boostの一部ですが、OpenCVほど機能的ではありません。Boostが気に入って使用している場合、いくつかの基本的な機能については問題ありません。

ResIL - DevILプロジェクトの継続。主な利点は、一部のゲームファイルを含む多くのファイル形式で動作することです。

PINK-もともとC ++で書かれています。私は最近それを試してみましたが、一緒に仕事をするのはとても楽しかったです。Pythonとの優れた統合および組み込みCの高速化。それ以外にも、多くの優れたアルゴリズムがあります。

明らかに、もっと多くの画像処理ライブラリがありますが、これらは私が接触したものです。したがって、何かを始めたい場合は、OpenCVを選択してください(C ++フレームワークを使用することが望ましい)-後悔はしません!一方、プログラミングスキルがそれほど高くない場合は、Pythonベースのライブラリの使用を検討することをお勧めします。これは、学習とセットアップが非常に簡単です。


2

MATLABは、画像処理の学習に最適な言語です。(私の意見です)

学習が簡単で、ハードウェアに依存せず、コンパイルされた言語よりも柔軟であり、スクリプト言語よりも効率的である可能性があります(マシンレベルでの信号処理に最適化された固有のdllにより)。アカデミックおよびエンジニアリングのサポートが良好です。

C / C ++は、画像処理のスタンドアロンアプリケーションを作成するのに最適な言語です。IDEのスイートの下で、最も効率的なネイティブコードを生成できます。また、C ++のIDEは、より優れたマシンレベルのデバッグ機能を提供します。

一部のスクリプト言語も使用されています。これらは確かに柔軟性があり、移植性があり、かなり効率的です。しかし、低レベルではデバッグが容易ではないかもしれません。

また、CUDA、OpenCLなどの新しいGPU処理機能により、計算スループットが劇的に向上します。(ただし、効率の向上を利用するには、基礎となるGPUパイプラインハードウェアアーキテクチャに注意する必要があるため、学習するのはより困難です)


-1

独自のアルゴリズムまたはコードをロールバックする場合は、OpenCLを含めてください。多くの画像処理カーネルは「恥ずかしいほど並列」です。

または、Big Ironでは、Fortranは依然として数値ベクトルのパフォーマンスで他のほとんどの言語に勝っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.