質問

いくつかあるのを見てきました。 opencvdotnet, シャープCV, EmguCV, ワン・オン・コード・プロジェクト.

これらのいずれかを経験した人はいますか?Code Project にあるものを少し試してみましたが、何か複雑なことをしようとするとすぐに、キャッチできない厄介な例外がいくつか発生しました (つまり、メッセージボックスの例外)。クロスプラットフォーム (Mono をサポート) が最適です。

役に立ちましたか?

解決

私は opencvdotnet から始めましたが、現在はあまり積極的に開発されていません。さらに、必要な機能 (顔検出) のサポートにはまだらがありました。使っています EmguCV 今:これは API の大部分をラップしており、その背後にいる人は提案やリクエストに非常に敏感です。このコードは見ていて楽しいもので、Mono で動作することが知られています。

早速書きました スタートガイド 私のブログで。

他のヒント

を使用しております OpenCVシャープ Google コードの Web サイトは日本語ですが、最新の OpenCV ビルドが使用されており、IDisposable が全体に組み込まれています。これまでに見た他のものよりも多くの機能を提供しているようで、まだアクティブです。非常に広範なサンプルプログラムも含まれています。

元の質問が次の場所で行われたことに注意することが重要だと思います 2008, 、OpenCV 2.0は年にリリースされました。 2009. 。バージョン 2.0 リリースでは、OP が直面していた古い C インターフェイスよりもはるかに扱いやすい C++ ラッパーが導入されました。私の .NET プロジェクトでは、すべてのグラフィック操作をネイティブ C++ に残します。

これを試して: OpenCV ライブラリにリンクする C++/CLR DLL プロジェクトを作成します。OpenCV マニュアルには、Windows C++ EXE に対してこれを行う方法が説明されています。同じ手順が C++/CLR DLL でも機能します。もちろん、DLL は .NET EXE から呼び出し可能なメソッドをエクスポートします。

これをテストするには、少し調整するだけで、OpenCV サンプルのいずれかを DLL に組み込むことができるはずです。(.CPP ファイルをプロジェクトに追加し、main() 関数をクラス メンバーに変換します。- ドリルはご存知でしょう...) 良いテスト候補は、「mat_mask_operations」サンプルかもしれません。

OpenCV.NET は NuGet から入手できます

https://bitbucket.org/horizo​​ngir/opencv.net

https://www.nuget.org/packages/OpenCV.Net

プロジェクト サイトの機能のリストは次のとおりです。

opencv.netは、人気のあるOpenCVコンピュータービジョンと画像処理ライブラリの.NETインターフェイスです。これらのバインディングは1年にわたって開発され、他の試みから欠落している多くの機能、つまり:

  • クロスプラットフォーム Mono 互換性 (P/Invoke のみが使用されます)
  • 最新の C API をほぼ 100% サポート (文書化されていない関数を含む)
  • サポートされているすべてのメソッド、クラス、列挙メンバーに関する完全なドキュメント/インテリセンス (さまざまなソースから苦労して採掘)
  • 例外のサポート
  • ガベージコレクターに優しい:
    • GC は行列とイメージによって使用される実際のメモリを認識します。
    • ガベージ コレクションが同時に発生した場合でも、ポインタは関数呼び出しに耐えることが保証されています。
  • 可能な限り C++ API に従ったオブジェクト モデル (将来の C++ API のサポート強化に向けて)
  • BSD スタイルのライセンス (MIT)

最良のラッパーはopencvsharpだと思いますhttp://code.google.com/p/opencvsharp/

EmguCV を使用して、C# で OpenCv を簡単に開始できるようにする NuGet パッケージを作成しました。

それをチェックしてください!Visual Studio で検索して追加します。 myEmguCV.Net NuGet パッケージ。

https://www.nuget.org/packages/myEmguCV.Net

SharperCV は私たちが選んだツールであり、私たちを失望させませんでした。 ロボットプロジェクト. 。現在は放棄済みとしてマークされていますが、コードは非常に良好な状態にあり、必要に応じてカスタマイズするにはわずかな調整のみが必要です。メッセージボックスはなく、実際には非常にまともな例外処理です。

ただし、相互運用性レイヤーがあるため、クロスプラットフォームではありません。

この質問には長い間答えられてきたことは承知していますが、非常に優れたラッパーがあることを付け加えておきたいと思います。 ここ. 。これは、試した openCV ラッパーの新しいバージョンです コードプロジェクト. 。数日間試してみましたが、すべてが完璧に機能します。また、数分で動作するようになりました。

mono との互換性についてはわかりませんが、Visual Studio 2010 では魅力的に動作し、時間とお金を大幅に節約できました (私のプロジェクトは商用であり、ライブラリのほとんどは商用を許可しないライセンスを持つオープンソースです)コードを公開しない限り使用できません)

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