> ## Content Index
> Fetch the complete content index at: https://yinguobing.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 手动安装OpenCV下的IPPICV加速库
- URL: https://yinguobing.com/blog/install-ippicv-manually/
- Published: 2017-05-04T07:33:34.000Z
- Updated: 2020-06-10T07:07:52.000Z
- Description: 网络状况不佳的情况下手动安装IPPICV加速库。
- Author: 尹国冰
- Tags: OpenCV

在 *Learning OpenCV* 这本书中，作者提到OpenCV可以利用Intel的IPP性能库来提升程序的运行速度，而这个IPP库是要另外进行购买的。实际上，Intel为当前的OpenCV免费提供了IPP加速库的一部分，在此我们称之为**ippicv**。

ippicv会在cmake的时候自动从github上下载，但是在网络状况不佳的情况下会下载失败。这时候我们只能采用手动安装的方式。

ippicv的下载地址其实就藏在[ippicv.cmake](https://github.com/opencv/opencv/blob/master/3rdparty/ippicv/ippicv.cmake?ref=yinguobing.com)文件中。里边有几个比较重要的变量。

第一个是`IPPICV_COMMIT`，它的值可以从代码中找到：

```
set(IPPICV_COMMIT "a62e20676a60ee0ad6581e217fe7e4bada3b95db")

```

第二个是`OPENCV_IPPICV_URL`，同理可以找到：

```
"$ENV{OPENCV_IPPICV_URL}"             "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"

```

这两个联合起来就可以得到文件的路径为：

```bash
https://raw.githubusercontent.com/opencv/opencv_3rdparty/a62e20676a60ee0ad6581e217fe7e4bada3b95db/ippicv/

```

最后一个是文件名`OPENCV_ICV_NAME`，针对不同的系统与环境会有所不同，Linux 64bit下的文件名可以从如下代码中找到：

```
if(X86_64)
set(OPENCV_ICV_NAME "ippicv_2017u2_lnx_intel64_20170418.tgz")
set(OPENCV_ICV_HASH "87cbdeb627415d8e4bc811156289fa3a")

```

将这三样组合在一起即可得到最终的URL：

```
https://raw.githubusercontent.com/opencv/opencv_3rdparty/a62e20676a60ee0ad6581e217fe7e4bada3b95db/ippicv/ippicv_2017u2_lnx_intel64_20170418.tgz

```

当然，你也可以不这么麻烦，直接访问OpenCV在Github上的`opencv_3rdparty`也可以找到文件的具体地址，选择正确的分支即可。

目前最新的ippcv可以在这里找到：

```
https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20170418/ippicv

```

Enjoy\~