SURFDetector
プログラムがクラッシュするため、オブジェクトを使用できません。
私は Emgu のバージョン 2.4.9 を使用しており (ここからダウンロードしたフォーム)、OpenCV 依存関係の追加に関する指示に従いました (リンク):
EMGU CV バージョン >=2.4 cudart64_42_9.dll、cvextern.dll、npp64_42_9.dll、opencv_calib3dXXX.dll、opencv_contribXXX.dll、opencv_coreXXX.dll、opencv_features2dXXX.dll、opencv_flannXXX.dll、opencv_highguiXXX.dll、opencv_imgprocXXX.dll、opencv_legacyXXX.dll 、opencv_mlXXX.dll、opencv_nonfreXXX.dll、opencv_objectdetectXXX.dll、opencv_videoXXX.dll。XXX は OpenCV のバージョン番号です。
Emgu.CV.dll
、Emgu.Util.dll
およびへの参照も追加しましEmgu.CV.UI
た。Emgu.CV.GPU.dll
この問題を解決するために、とも追加しようとしましたが、opencv_gpuXXX.dll
成功しませんでした。
Windows 7 がインストールされた 64 ビット PC で作業していますが、私のプロジェクトは x86 用にビルドされており、x86 アーキテクチャの依存関係を使用しています。SURFDetector
オブジェクトを使用する前は、すべて正常に機能していました。
プログラムが次の行に到達すると、クラッシュが発生します。
SURFDetector surfCPU = new SURFDetector(500, false);
プログラムは 2 種類の例外 (はい、2 つ) をスローします。
- mscorlib.dll の System.Reflection.TargetInvocationException
- Emgu.CV.dll の System.DllNotFoundException ('cvextern' DLL をロードできません)、奇妙なエラー コード (HRESULT: 0x8007007E)
どちらの場合も、VisualStudio 2012 は「ソースが利用できません」などと呼ばれる新しいタブを開きます (私はイタリア語を使用しているため、英語版の VisualStudio で使用されている正確な単語についてはわかりません)。
編集: 上記に追加したいのは、SURFFeature と呼ばれるライブラリで提供される例の実行可能ファイルが完全に機能することです...