- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am evaluating IPP 5.3.3.082 in conjunction with opencv 1.0. I was using opencv before and I have installed IPP now. Iwrote asmall Cprogram for opencv based on some stuff I saw on the web and I tried to check if IPP is getting loaded but it appears that it is not. The print out shows I am loading the opencv libraries but no IPP libraries. I found out that the problem might be related to a old cxswitcher.cpp that was not updated for 5.3 and I got the new one but it did not make any difference. Here is the code snippet I am using - any ideas?
const char* opencv_info= 0;
const char* plugin_info= 0;
cvGetModuleInfo(0, &opencv_info, &plugin_info);
if (plugin_info != 0 && strstr(plugin_info,"ipp")!=0)
printf("IPP is used plugin_info=%s opencv=%s
", plugin_info, opencv_info);
else
printf("Opencv is used %s
", opencv_info);
How can I resolve my problem?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
this is known issue, please take a look on IPP technical support page for workaround
OpenCV does not detect Intel IPP 5.3
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vladmir,
I already tried that workaround. I am using Windows Visual C++ 2003 and I already downloaded the file cxswitcher.cpp (from a windows link) and recompiled the opencv libraries. Unless there is more that, itdid not help. Any other ideas? Thanks
Rohit
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rohit,
this work for other customers. Could you pleasego throughdebugger to see what is the reason in your case?
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I seem to have a similar problem as rohit.
May I ask you where to debug in the OpenCV Code for the IPP loading stuff?
Thank you
Regards
Andreas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
But, whatever the reason is, there is no performance improvement.
cvGetModuleInfo reports:
cxcore: 1.0.0, cv: 1.0.0
ippcv-5.3.dll, ippi-5.3.dll, ipps-5.3.dll, ippvm-5.3.dll, ippcc-5.3.dll
I use cvMinMaxLoc, cvThreshold and cvMorphologyEx (Closing).
Is there anything I have to mind? I use VS2005 with the original compiler and linker
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have the same problem : ipp is not detected (I use the fixed cxswitcher.cpp, Path is ok and directories under vs2005 are updated)... How do you exactly do to fix the problem ?
Thanks by advance.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I used the fixed cxswitcher.cpp to recompile OpenCV, but I missed to replace the existing OpenCV DLLs in the windows/system32 folder.
After replacing these DLLs, OpenCV detected the IPP modules.
But unfortunately I got no noticeable speedup...
Regards
Andreas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Best regards,
Hunta
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm having the same problems (IPP evaluation 5.3 Update 4 for Intel IA 32. Intel Core 2 Duo processor. Windows XP. IDE: MS Visual Studio .NET 2008 Standard Edition).
I exchanged the cxswitcher.cpp by a newer one (as supposed/proposed in another thread), rebuild the OpenCV library and still the following code indicates, that no IPP support is available:
//find out, if IPP is used
int numOptimizedFuncCalls = cvUseOptimized(1);
char buffer[100];
sprintf(buffer, "numOptimizedFuncCalls = %d", numOptimizedFuncCalls);
OutputDebugString(buffer);
const char* plugin_info = 0;
cvGetModuleInfo(0,0,&plugin_info);
bool ipp_is_used = plugin_info != 0 && strstr(plugin_info,"ipp") != 0;
sprintf(buffer, "is IPP used: %d", ipp_is_used);
OutputDebugString(buffer);
Output:
numOptimizedFuncCalls = 0
is IPP used: 0
In the system32 folder there are no OpenCV libraries. I've got the OpenCV bin directory as well as the IPP bin directory in my PATH system variable.
Debugging of cxcoretest (part of OpenCV build project) told, that in cvUseOptimized the LoadLibrary call doesn't return a valid handle - even for the ippcv-5.3.dll, which is definitely in the IPP bin directory.
Is there any #define/preprocessor definition I have to add in order to get IPP support?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I reinstalled the IPP evaluation version 5.3.4.087 and now debugging cxcoretest project/application of OpenCV shows, that the IPP *5.3.dlls are loaded at runtime correctly.
Nevertheless my other application (which consists of several OpenCV calls like cvConvertScale, cvResize, cvFilter2D, cvErode, cvFindContours etc.) doesn't load IPP dlls.
My project builds a dll, which is embedded in another host application. Is there anything I have to do for using IPP functions instead of simple OpenCV functions in this case (I still want to call the functions using the OpenCV syntax and OpenCV shall internally choose the IPP implementation)?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, the problem was that the host application couldn't find the IPP dlls (although the IPP bin directory is part of my PATH system variable). I had to start the runtime installer in the IPP installation directory IntelIPP5.3.4.087ia32toolsruntimeinstaller, which copies the dlls into the system32 folder. Now my host application uses the IPP dlls and the output of the previously mentioned code snippet is:
numOptimizedFuncCalls = 384
is IPP used: 1
Hope that helps others as well... (though I still don't understand, why the dlls couldn't be found in first place...)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ah, I've forgotten: my host application had some OpenCV dlls in its directory and after rebuilding OpenCV I had forgotten to replace them - that's why the host exe used the old OpenCV dlls which didn't know anything about the version "5.3"... so no IPP was used...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
this is known issue, please take a look on IPP technical support page for workaround
OpenCV does not detect Intel IPP 5.3
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page