1

画像認識アルゴリズムを OpenCV c++ プロジェクトとして実装しました。また、C# Web サービスもあります。C# Web サービスから c++ Opencv プロジェクトを呼び出したいと考えています。これは私のプロジェクトがどのように機能するかです.モバイルからC#Webサービスに画像を送信します.次に、画像認識を行うためにOpencv c ++プロジェクトを呼び出す必要があります。DLL を使用してこれを実行しようとしました。DLL を使用することが最善の方法であると思われる場合は、Opencv c++ projetc を DLL に変換する方法を教えてください。または、他の方法があります。

どうもありがとうございました

4

2 に答える 2

1

プロジェクトの画像認識部分を記述する C++ DLL プロジェクトを作成する必要があります。Visual Studio で C++ DLL プロジェクトを作成する方法に関するこのチュートリアルを確認できます:チュートリアル: ダイナミック リンク ライブラリの作成と使用

その DLL ファイルにクラスを作成すると、そのクラスを使用して画像を処理できるようになります。PInvoke を使用すると、そのクラスを C# プロジェクトで使用できるようになります。これは、C# プロジェクトで DLL から C++ クラスを使用する方法に関する優れたチュートリアルです: How to Marshal a C++ Class . その記事のソリューション A を多くのプロジェクトで使用して、C# から C++ コードを呼び出しました。

既存の C++ プロジェクトを DLL に変換するために、その出力タイプを変更できます。[プロジェクト] -> [プロパティ] に移動し、そのウィンドウで [構成プロパティ] -> [全般] に移動して、次の画像のように構成タイプをダイナミック ライブラリ (.dll) に変更する必要があります。プロジェクト プロパティ DLL

その後、dll からエクスポートするクラスまたは関数を公開する必要があります。新しい dll プロジェクトを開始し (最初のリンクに従ってください)、そこから作業することを強くお勧めします。これは、AppWizard がいくつかのコードを作成し、簡単になるためです。

于 2012-06-07T12:20:27.453 に答える
1

仕事をするには PInvoke を使うべきだと思います。使用していませんが、私が知っていることから、これはそれを行う方法です:

http://msdn.microsoft.com/en-us/library/aa446536.aspx

于 2012-06-06T15:51:25.680 に答える