0、前言
Intel® Integrated Performance Primitives,一套集成了几千个对多媒体与数据处理应用进行过高度优化的函数库。它所涉及的主要函数领域如下图所示,这里我所需要的仅仅是它的图像处理方面的功能。

Intel IPP自2010年起已经被Intel集成到一款性能完善的优化套件中,就是Intel Parallel Studio XE,所以想要使用的朋友直接搜索后者就可以了。
我所用的函数库:Intel Parallel Studio XE 2011
开发平台:Windows 7 64位旗舰版
开发工具:Visual Studio 2010
首先,下载函数库,可以到Intel的下载中心选择下载:
https://downloadcenter.intel.com/
我所用的版本是在这边下载的:
http://blog.sina.com.cn/s/blog_8606724e0101bziq.html
1、配置
好了,下载完成后就可以安装了,安装完成后,需要设置下环境变量,变量名可以为IPPROOT(IPP的User's Guide中要求是这个变量名),路径为C:\Program Files (x86)\Intel\ComposerXE-2011\ipp(按照各自的路径修改即可)。
下面是VS2010的配置,每次新建工程都需要配置如下:包含路径、引用路径、以及附加依赖项都需要配置。
如果配置完成还是有错,可以选择release版本编译试试应该就可以了。
2、函数库学习
由于IPP是一款收费软件,所以目前可用的中文资料相当少,这个也没有办法,希望有哪位大神有空可以翻译一下吧。
在Intel Parallel Studio XE 2011安装完成后,安装目录下是有自带的用户手册的,只不过不是PDF的版本,在环境变量路径下的Doc文件夹下,或者也可以到开始菜单找到Intel Parallel Studio XE 2011的Documentation下面就是所有组件的网页版说明文档了,我们所需要的就是IPP的,直接打开就可以。

其中,Intel® IPP User's Guide是对IPP这个函数库的大概的说明,包括函数的命名方式、IPP的配置方法等等,如果在配置实用上有任何问题的话,也可以到这个里面自己看看。
Intel® IPP Reference Manual而这个就是函数库中各功能函数的详细说明了,也是我们需要详细翻看学习的最重要的部分。整个文档结构还是非常清晰的,相信只要英语过了4级的再装个翻译小工具应该都没有问题。
3、函数库使用
这里需要提出的一点,IPP所提供的例程,自这一版后IPP例程只有一个了,但是这个例程非常好用,虽然很大编译很费时间。如果不想编译,可以直接在环境变量目录下找到现成的例程的可执行文件,文件名为ippiDemo.exe 。
在这个exe中最好用的一个功能就是函数的功能演示了:

当我们打开一幅BMP格式的图像后,选择菜单中Process,就可以打开这一对话框,里面是几个主要模块的功能函数,可以非常好的对这些函数进行学习、理解。
当然,最好用的还是文档,里面对于各个函数的描述是非常详细的,还都配有相应的简单小例程以供学习参考。
比如在Convert下面的实例程序如下:
IppStatus convert( void ) {
IppiSize roi={5,4};
Ipp32f x[5*4];
Ipp8u y[5*4];
ippiSet_32f_C1R( -1.0f, x, 5*sizeof(Ipp32f), roi );
x[1] = 300; x[2] = 150;
return ippiConvert_32f8u_C1R( x, 5*sizeof(Ipp32f), y, 5, roi, ippRndNear );
}
实现了一个转换矩阵的功能函数,输出结果为:
00 FF 96 00 00
00 00 00 00 00
00 00 00 00 00
00 00 00 00 00