您的位置:首页 > 运维架构

资料收集:让OpenCV使用IPP

2011-08-15 13:09 337 查看
全文纯copy自:http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=782&p=15103

1.OpenCV确实是在运行时自动加载这些优化库, 不需要运行cvUseOptimized()函数, 前提是库的相关路径注册了环境变量.

可运行如下程序进行检验:

const char* opencv_libraries = 0;

const char* addon_modules = 0;

cvGetModuleInfo( 0, &opencv_libraries,&addon_modules );

printf( "OpenCV: %s\r\nAdd-on Modules: %s\r\n.", opencv_libraries, addon_modules);

如果自动加载成功会输出:

OpenCV: cxcore: 1.0.0, cv: 1.0.0

Add-on Modules: ippcv-5.1.dll, ippi-5.1.dll, ipps-5.1.dll, ippvm-5.1.dll, ippcc-5.1.dll, mkl_p4.dll

此时再运行cvUseOptimized(1), 通过查看返回值, 可以知道有多少个函数被优化。

2.不同函数优化的程度不一。

用几个函数测试了一下加载优化库后的优化程度:

系统: P4(2.6G) 512MB XP VC6

测试图像: 768×576 8UC1

循环100次

测试函数 cvSmooth(CV_GAUSSIAN,31*31) 2493ms(with IPP) 5498ms(without IPP)

测试函数 cvSobel(7*7) 1674ms(with IPP) 1672ms(without IPP)

测试函数 cvCanny(3*3) 2901ms(with IPP) 3385ms(without IPP)

可以看出不同函数优化的程度不一样, cvSmooth优化程度很高, 性能提升50%多, cvSobel基本没有变化, 网上有的老外还说用了IPP之后速度下降了 .

所以究竟用不用IPP(199美元呢), 还得各位测试一下自己的程序, 好在现在还有Evaluation版的IPP可以用。要是OpenCV下个版本能提供一份儿各个函数优化表就好了.

另:http://blog.sina.com.cn/s/blog_675662490100idkf.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: