IPP和OpenCV

原文地址:IPP和OpenCV 作者:叶以撒

    书上面说IPP可以加速OpenCV很多函数的实现速度。上网搜索了一下,好像IPP需要收费。另外,有一个pdf文章《Programming with Intel IPP》在国内网站上下载要登录还要积分。索性去google上用 filetype:pdf Programming with Intel IPP 搜索,第一条就是。呵呵。

    另外搜索一些有关IPP的网页:

    Intel多核编程工具(Software Development Products)入门篇

    英特尔® 软件网络

    英特尔® 集成性能原件(英特尔® IPP)6.0

    另外:如果系统安装了IPP和OpenCV,并且确保: ...安装目录/Intel/IPP/bin 被加载到系统路径(Path)中。这样OpenCV可自动将性能较低的代码切换为IPP同功能的高性能代码。那么可用一下代码测试是否IPP和OpenCV是否正确关联:

    const char* libraries;
    const char* modules;
    cvGetModuleInfo(0,&libraries,&modules);
    cout<<"libraries "<<libraries<<"n"<<"modules "<<modules<<endl;

如果输出如下信息:

    libraries cxcore: 1.0.0
    modules ippcv20.dll,ippi20.dll,ipps20.dll,ippvm20.dll

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IPP(Integrated Performance Primitives)是Intel开发的一套高性能数学和信号处理函数库,可以用于加速图像处理算法。OpenCV库中包含了IPP模块,可以使用IPP库来加速一些OpenCV函数的处理速度。下面是使用IPP模块加速OpenCV函数的一般步骤: 1. 引入IPP库:在代码中引入IPP库头文件,例如: ```c++ #include "ipp.h" ``` 2. 初始化IPP库:在代码中初始化IPP库,例如: ```c++ IppStatus status = ippInit(); if (status != ippStsNoErr) { // 初始化IPP库失败 } ``` 3. 加速OpenCV函数:在代码中使用IPP库函数加速OpenCV函数,例如: ```c++ cv::Mat src, dst; // 加载图像到src中 IppiSize size = { src.cols, src.rows }; IppiWarpAffineParams params = { ... }; // 设置warpAffine参数 IppStatus status = ippiWarpAffine_8u_C3R(src.data, src.step, dst.data, dst.step, size, params, ippBorderRepl); if (status != ippStsNoErr) { // warpAffine处理失败 } // 处理dst图像 ``` 在这个示例中,ippiWarpAffine_8u_C3R函数是IPP库中的一个图像变换函数,可以替代OpenCV库中的warpAffine函数。通过使用IPP库的函数,可以加速图像变换的处理速度。 需要注意的是,并不是所有的OpenCV函数都可以使用IPP模块加速。一些OpenCV函数已经使用了其他优化模块进行了优化,或者不适合使用IPP模块加速。在使用IPP模块加速OpenCV函数之前,需要仔细考虑是否适合使用IPP模块,并进行性能测试以验证加速效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值