web-dev-qa-db-ja.com

AForgeとOpenCVの違い

私はコンピュータービジョンとC#について学習しています。 2つの有名な画像処理ライブラリは OpenCVAForge のようです。 2つの違いは何ですか?

私はC#で基本的な画像エディターを作成しており、調査中に両方の記事に出会いました。しかし、なぜ私が他のものを選ぶのかは本当にわかりません。最終的にはアプリを改善して、より高度な機能を追加したいと思います。

ありがとう。

50
vrish88

現在、学校のプロジェクトでOpenCVを使用しています。AForgeのドキュメントを閲覧しましたが、機能が異なるようです。 AForgeには多数のフィルターがあり、さまざまな変換や画像操作に最適です。しかし、他の分野ではかなり不足しているようです。コンピュータービジョンに非常に役立つため、残念なマトリックス演算は見つかりませんでした。私たちの現在のプロジェクト(画像シーケンスからの3D点群の再構成)は、ドキュメントから見る限り、AForgeだけでは不可能です。

AForgeを優れた線形代数ライブラリと組み合わせると、本当に便利なものがあるかもしれません。

OpenCVに関しては、それは豊富な機能セットを持っていますが、プログラムするのが少し難しいです。

19
Hannes Ovrén

まあ、なぜ両方を使用しないのですか;)??

私は(C#で文字通り... lol)EMGUCV.NET(OpenCV C#ラッパーです)とAFORGE.NETを同時に使用しています:

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

OpenCVは、SIFT/SURFやその他のより洗練された画像処理ルーチンのような残りすべてを提供します。

そのため、.NETを使用します。必要なすべてのコンポーネントを1つのアプリケーションにまとめるだけです:)

43
Guido

あなたが言ったように、より高度な機能でアプリケーションを改善したい場合は、OpenCVを使用します。ただし、成功の一部は、C#ポートがアクティブに更新されているという事実に依存します。 3つのポートを検討する問題の。私は EmguCV が更新に関して今のところ最高のように思えますが、私がそれを見ると、ドキュメントが不足しています(ただし、C++コードをC#に変換して、C++の知識を持っている可能性があります)。 AForgeの方がずっと簡単に思えるし、それを今使っている。 OpenCVは、顔検出を含む使用可能なhaarcascade.xmlファイルもサポートしています。

したがって、最後の見解として、どちらもあなたに合うでしょう、OpenCVはより広く使用/サポートされています(ほとんどのユーザーベースはC++ですが)、AForgeの方が簡単です。それはすべて、あなたがやりたいことにかかっています。

3
Dominic K