質問

私はコンピューター ビジョンと C# について学んでいるところです。有名な画像処理ライブラリは次の 2 つのようです。 OpenCV そして アフォージ. 。2 つの違いは何ですか?

私は C# で基本的な画像エディターを作成していて、調べているときに両方に関する記事を見つけました。しかし、なぜ一方を他方よりも選択するのかはよくわかりません。最終的にはアプリを改善して、より高度な機能を追加したいと考えています。

ありがとう。

役に立ちましたか?

解決

現在、学校のプロジェクトで OpenCV を使用していますが、AForge のドキュメントを参照したところ、機能が異なるようです。AForge には多くのフィルターがあり、おそらくさまざまな変換や画像操作に優れています。しかし、他の部分ではかなり不足しているようです。コンピューター ビジョンでは非常に便利な行列演算が見つからなかったのは残念でした。私たちの現在のプロジェクト (画像シーケンスからの 3D 点群再構築) は、ドキュメントから見る限り、AForge だけでは実行できません。

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

OpenCV には豊富な機能セットがありますが、プログラミングするのは少し難しいです。

他のヒント

そうですね、なぜ両方を使用しないのでしょうか ;) ??

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

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

OpenCV は、SIFT/SURF やその他のより高度な画像処理ルーチンなどの残りのすべてを提供します。

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

あなたが言ったように、より高度な機能を追加してアプリケーションを改善したい場合は、OpenCV を選択します。ただし、成功の一部は、C# ポートが積極的に更新されるという事実に依存します。これはそれほど大きな問題ではないはずです。 3 つのポートを考慮すると問題が発生します。私は思う EmguCV 更新の点では現時点で最高のものの 1 つのようですが、調べたところドキュメントが不足しています (ただし、C++ の知識があれば C++ コードを C# に変換できるでしょう)。私にとっては AForge の方がはるかに簡単なようで、現在は AForge を使用しています。OpenCV は、顔検出を含む haarcascade.xml ファイルもサポートしています。

最終テイクは次のとおりです。どちらもあなたにぴったりです。OpenCV の方がより広く使用/サポートされています (ただし、ほとんどのユーザーベースは C++ です)。AForge の方が簡単です。すべてはあなたが何をしたいかによって決まります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top