2009-04-14 181 views
41

私はコンピュータビジョンとC#について学んでいます。 2つの顕著な画像処理ライブラリがOpenCVAForgeのようです。両者の違いは何ですか?AForgeとOpenCVの違い

私はC#で基本的な画像エディタを作っていますが、研究しているうちに両方の記事が出てきました。しかし、なぜ私が他のものを選ぶのかは分かりません。私は最終的により高度な機能を含めるようにアプリを改善したいと思います。

ありがとうございました。

答えて

14

私は現在、学校でプロジェクトにOpenCVを使用しています。私はAForgeのドキュメントを閲覧しました。その機能は異なるようです。 AForgeには多くのフィルタがあり、おそらく異なる変換や画像操作に優れています。しかし、それは他の分野ではかなり不足しているようです。コンピュータビジョンではとても有用なので、私は失望の行列操作を見つけることができませんでした。私たちの現在のプロジェクト(画像シーケンスからの3Dポイントクラウド再構成)は、ドキュメントから見る限り、AForgeだけでは不可能です。

良い線形代数ライブラリとAForgeを組み合わせれば、本当に便利なことがあります。

OpenCVの場合、豊富な機能が設定されていますが、プログラムするのは少し面倒です。

3

あなたが言ったように、より高度な機能を備えたアプリケーションを改善したいのであれば、私はOpenCVに行くだろう - しかし、あなたの成功の一部は、C#ポートが積極的に更新され、 3つのポートを考えると大変なことになります。私はEmguCVが今更新された点で最高のものだと思っていますが、私はそれを見て、ドキュメントが欠けています(しかしC++のコードをC++の知識と一緒にC#に変換できます)。 AForgeは私のためにもっと簡単に思えます、そして、それは私が今使っているものです。 OpenCVは、顔検出を含むhaarcascade.xmlファイルもサポートしています。

最終的なテイク:OpenCVはより広く使用され、サポートされています(ほとんどのユーザベースはC++ですが)。それはすべてあなたがしたいことになる。

+3

[アコード](http://accord-net.origo.ethz.ch/)、拡張フレームワークを持って来ますAForgeは、XML Haarカスケードファイルをサポートしています。それはAForgeの多くのギャップを埋めるので、両方を使用することをお勧めします。 – smola

+1

@smmv:Accordは次のアドレスに移動したようです:http://code.google.com/p/accord/ – Sabuncu

40

なぜ、両方を使用しないのですか?)同時に

(OpenCVのC#のラッパーです)私が使用しています

(文字通りC#で...笑)EMGUCV.NETとAFORGE.NET:

AFORGE.NETプラスその "画像処理ラボ"フィルタリングオプション(エッジ検出、しきい値など)と表示機能の緩和に非常に適しています。

OpenCVは、SIFT/SURFやその他の高度な画像処理ルーチンのようなすべての機能を提供します。あなたは、.NETを使用する理由だ

:単にあなたが一つのアプリケーションで一緒に必要なすべてのコンポーネント:)

関連する問題