リアルタイムの顔認識アプリケーションを作成するように依頼されました。周りを見回した後、顔認識ライブラリとしてEmguCVとOpenCVを試すことにしました。
私が現在抱えている問題は、SDKをインストールして機能させようとしていることです。見つかった手順に従って ここ 実行しようとしましたが、それでもサンプルを実行できません。それらを実行しようとすると、エラーが発生します
The program can't start because nvcuda.dll is missing from your computer.
Try reinstalling the program to fix this problem.
Binフォルダーを環境パスに追加したり、dllをsystem32フォルダーにコピーしたりするなど、通常の修正のほとんどを試しましたが、どれも機能しないようです。
これはnVidiaグラフィックカードを持っていないという事実の問題だと思いますが、どうすればよいかわかりません。今のところ、ダウンロードした.exeを使用するのではなく、ソースを再コンパイルして、それが役立つかどうかを確認します。
助言がありますか?
同じ問題がありましたが、EmguCV 2.4.2(x86またはx64のどちらでも)はGPUでコンパイルされており、CUDAをサポートするnvidiaGPUが必要です。だから、あなたが例えばしたい場合。 C#の2.4からのFisherfaces-非GPUのリリースを待つか、CUDAカードを購入/借用します;)
私はたまたまあなたとまったく同じ問題を抱えています。私のコンピューター(WinXP 32ビット)ではすべて正常に動作していますが、Win764ビットコンピューターでは正常に動作していません。これは、コンピューターにOpenCV 2.4.2が既にインストールされており、プログラムを実行すると、OpenCV dllへのパスがEmguCVフォルダー内のdllではなく、OpenCVフォルダーを指すためです。元のOpenCVdllには、NVidiaのドライバーへのこの依存関係はありません。
Dependency Walker を使用して、提案されているように、何が起こっているのかを見つけるのに役立てました ここ 。
This リンクは、-gpuパッケージのみがgpu処理を有効にしていることを示していますが、最新バージョン(2.4.2)は、gpuパッケージのみであり、no-gpuパッケージはありません...
私は読んだ ここ 必要なのは最新のNVidiaドライバーをダウンロードしてnvcuda.dllファイルを取得することだけでしたが、多くのパッケージをダウンロードしましたが、このファイルは見つかりませんでした: gpu Computing sdk、cuda toolkit 、ディスプレイドライバー、デバイスドライバー..
私の回避策は、古いバージョンのEmguCV/OpenCVを使用する代わりに、 OpenCV 2.4.2 の元のdllを使用することです。
Dll-files.comの nvcuda.dll を使用しました。
問題は、サイトの最新バージョンに非GPU拡張ダウンロードが含まれておらず、GPU拡張ダウンロードにCUDA統合用のnVidiaグラフィックカードが必要なことです。
GPUが拡張されていない以前のバージョンを正常にダウンロードして実行しました。
私も同様の問題を抱えていました。 NVIDIA GPUを搭載したコンピューターでアプリケーションをコンパイルして実行すると、正常に動作します。問題は、アプリを別のコンピューターに移動したときでした。この2番目のコンピューターにはNVIDIAGPUがなく、「Emgu.CV.CvInvoke」例外がスローされました。何度も試みた後、私は幸いにもこの問題を解決しました。今のところ前に述べたように、バージョン2.4.2のgpuパッケージしかありません。私はこれまで気づかなかった。
私にとっての解決策は次のとおりです。
他の解決策は、opencvユニバーサルGPUバージョン(現在はアルファ2.4.9)を使用することです。リンク: http://sourceforge.net/projects/emgucv/files/emgucv/2.4.9-alpha/
dllの別のコピーもあります: http://www.kimchiandchips.com/files/vvvv/nvcuda/
だから2つの解決策:
また、顔認識にEmguCVを使用して論文を作成するときに問題が発生しました。最も安定したバージョンのlibemgucv-windows-x86-2.4.0.1717.exeを使用してみてください。gpuダウンロードを使用しないようにしてください。このバージョンはバグが最も少なく、32ビットはx64よりも優れています。初めてコンパイルするときは、Visual Studio 2012を使用してください。このバージョンでは、上記のすべてをインストールする必要はありません。この例を見ると、実際に機能していることがわかります: http://sourceforge.net/projects/emgufacerecog/
ソースEmguCVをGITからダウンロードしてコンパイルできます。これを実行して、動作します。
http://www.emgu.com/wiki/index.php/Download_And_Installation#Building_from_Git
非GPUバージョンのdllを生成します
よろしく。