OpenCV for Mac 是不是使用 Accelerate 框架?

Posted

技术标签:

【中文标题】OpenCV for Mac 是不是使用 Accelerate 框架?【英文标题】:Does OpenCV for Mac use the Accelerate framework?OpenCV for Mac 是否使用 Accelerate 框架? 【发布时间】:2011-02-01 05:41:33 【问题描述】:

Accelerate 框架是一个特定于 Mac 的框架,提供图像卷积和 LAPACK 等功能,据称经过优化以在 Mac 上尽可能快。我的问题:OpenCV 是否利用了这一点?具体来说,“filter2D”函数是否使用Accelerate?

【问题讨论】:

【参考方案1】:

它没有使用 Accelerate 框架,但看起来它已经使用 2.2 中的 CUDA 东西加速了

OpenCV2.2中的相关文件...

/modules/gpu/include/opencv2/gpu/gpu.hpp /modules/gpu/src/filtering.cpp

模块/imgproc/src/filter.cpp

对于非 gpu 的东西

【讨论】:

【参考方案2】:

不是 mac 专家,但 AFAIK openCV 使用 IPP(如果已安装)TBB(构建选项)和 NVidia-CUDA(构建选项)

【讨论】:

【参考方案3】:

如果使用MacPorts版本,可以指定选项

$ port variants opencv
opencv has the variants:
   debug: Enable debug binaries
   python26: Add Python 2.6 bindings
     * conflicts with python27
   python27: Add Python 2.7 bindings
     * conflicts with python26
   tbb: Use Intel TBB
   universal: Build for multiple architectures

我用过

sudo port install py26-numpy
sudo port install opencv +python26 +tbb

成功了。具体到 Accelerate.framework,这个blog entry 说“# Add Accelerate.framework which is used internal from OpenCV library.”,但我不知道这里是否是这种情况。

【讨论】:

以上是关于OpenCV for Mac 是不是使用 Accelerate 框架?的主要内容,如果未能解决你的问题,请参考以下文章

在mac osX下安装openCV,used for python

使用 Homebrew 和 pyenv 在 Mac 上安装 OpenCV 3 for Python 3

mac系统上通过源码编译安装opencv for java

Mac环境下opencv for android笔记

Mac环境下opencv for android笔记

OpenCV for Mac 编译 CMake Error at cmake/OpenCVUtils.cmake:42 (if):