1

OpenCV 1.1 で Intel の Integrated Performance Primitives (IPP) バージョン 7.1 をロードするのに問題があります。

私の古い Open CV 1.1 コードは、もともと別の古い Windows XP マシンの IPP 6.1 で使用されていました。重要でない理由により、 Intel Composer XE 2013の一部として提供されるIntel の IPP 7.1を搭載した新しい Windows 7 マシンで使用したいと考えています。Intel のドキュメントによると、cxswitcher.c の 3 行を変更して、古い OpenCV コードで新しい Intel IPP を検出する必要があることが示唆されています。つまり、これらの行を更新する必要があります。

static const char* ipp_sfx_ia32[] = { "-6.1", "-6.0", "-5.3", "-5.2", "-5.1", "", 0 };
static const char* ipp_sfx_ia64[] = { "64-6.1", "64-6.0", "64-5.3", "64-5.2", "64-5.1", "64", 0 };
static const char* ipp_sfx_em64t[] = { "em64t-6.1", "em64t-6.0", "em64t-5.3", "em64t-5.2", "em64t-5.1", "em64t", 0 };

パターンに一致するように、バージョン番号「7.1」の文字列が含まれるようにしました。

static const char* ipp_sfx_ia32[] = { "-7.1", "-6.1", "-6.0", "-5.3", "-5.2", "-5.1", "", 0 };
static const char* ipp_sfx_ia64[] = {"64-7.1", "64-6.1", "64-6.0", "64-5.3", "64-5.2", "64-5.1", "64", 0 };
static const char* ipp_sfx_em64t[] = { "em64t-7.1","em64t-6.1", "em64t-6.0", "em64t-5.3", "em64t-5.2", "em64t-5.1", "em64t", 0 };

再コンパイルし、次のディレクトリをパスに追加しました。

  • C:\Program Files (x86)\Intel\Composer XE 2013\redist\intel64\ipp
  • C:\Program Files (x86)\Intel\Composer XE 2013\redist\intel32\ipp

しかし、cvGetModuleInfo()関数を含むサンプル コードを実行すると、コードは IPP dll をロードできず、次の出力が得られます。

     NumUploadedFunction = 0

     opencv_lib = cxcore: 1.1.0,
     add_modules =

� 他にもいくつかのテストを行ったことに注意してください。にある Intel の IPP デモC:\Program Files (x86)\Intel\Composer XE 2013\ipp\demo\intel64は、DLL を含むディレクトリをパスに追加した後にのみ実行できたので、PATH 設定が正しいと思います。また、MSYS プロンプト内から実行して、このディレクトリが MSYS コマンド プロンプトのパスに実際に追加されたことも確認しましたecho $PATH

のコードに問題があると思われcxswitcher.cます。

他に何を試す必要がありますか?

4

0 に答える 0