私はコンピュータービジョンとC#について学んでいます。2 つの有名な画像処理ライブラリはOpenCVとAForgeのようです。両者の違いは何ですか?
私は C# で基本的な画像エディターを作成していますが、調査中に両方の記事に出くわしました。しかし、なぜどちらか一方を選択するのかはよくわかりません。最終的には、より高度な機能を含むようにアプリを改善したいと考えています。
ありがとう。
さて、なぜ両方を使用しないのですか;)??
私は(文字通りC#で...笑)EMGUCV.NET(OpenCV C#ラッパー)とAFORGE.NETを同時に使用しています:
AFORGE.NETとその「画像処理ラボ」は、フィルタリングオプション(エッジ検出、しきい値など)と表示機能の容易化に非常に役立ちます。
OpenCVは、SIFT/SURFやその他のより洗練された画像処理ルーチンのような残りすべてを提供します。
そのため、.NETを使用します。必要なすべてのコンポーネントを1つのアプリケーションにまとめるだけです:)
現在、学校のプロジェクトで OpenCV を使用しています。AForge のドキュメントを閲覧したところ、それらの機能が異なるようです。AForge には多くのフィルターがあり、おそらくさまざまな変換や画像操作に優れています。しかし、他の分野ではかなり不足しているようです。コンピュータービジョンで非常に役立つため、失望した行列演算は見つかりませんでした。私たちの現在のプロジェクト (画像シーケンスからの 3D 点群再構成) は、ドキュメントから確認できる限り、AForge だけでは不可能です。
AForge を優れた線形代数ライブラリと組み合わせると、非常に便利なものが得られるかもしれません。
OpenCVに関しては、豊富な機能セットがありますが、プログラミングには少し注意が必要です.
あなたが言ったように、ますます高度な機能を使用してアプリケーションを改善したい場合は、OpenCV を使用しますが、成功の一部は、C# ポートが積極的に更新されているという事実に依存します。 3つのポートを考慮するとトラブルの。EmguCVは更新に関しては現時点で最高の 1 つだと思いますが、調べてみるとドキュメントが不足しています (ただし、C++ の知識があれば、C++ コードを C# に変換できる可能性があります)。AForge は私にとってはるかに簡単に思え、それが私が現在使用しているものです。OpenCV は、顔検出を含む、使用できる haarcascade.xml ファイルもサポートしています。
したがって、最終的には、どちらもあなたに適しています.OpenCVはより広く使用/サポートされています(ただし、ほとんどのユーザーベースはC ++です).AForgeの方が簡単です. それはすべてあなたがやりたいことに帰着します。