较旧的OpenCV 1.1,带有更新的英特尔集成性能基元(IPP)7.1

时间:2013-04-08 14:35:04

标签: opencv image-processing intel-ipp

我在使用OpenCV 1.1加载英特尔集成性能基元(IPP)7.1版时遇到了一些麻烦。

我的旧Open CV 1.1代码最初与另一台旧版Windows XP机器上的IPP 6.1一起使用。出于不重要的原因,我现在想在Intel's IPP 7.1Intel Composer XE 2013全新Windows 7计算机上使用它,它是suggests that I have to change three lines in cxswitcher.c的一部分。英特尔的文档{{3}}让旧的OpenCV代码找到新的英特尔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 =

请注意,我已经做了一些其他测试。位于C:\Program Files (x86)\Intel\Composer XE 2013\ipp\demo\intel64的英特尔IPP演示只有在我将带有DLL的目录添加到路径后才能运行,因此这让我认为我的PATH设置是正确的。我还确认,通过在MSYS提示符下运行echo $PATH,实际上已将此目录添加到MSYS命令提示符中的路径中。

我怀疑问题与cxswitcher.c中的代码有关。

我还应该尝试什么?

0 个答案:

没有答案