《学习OpenCV 3(中文版)》 —可移植性
可移植性
OpenCV基于可移植的理念设计,最初可以被任意通用的C++编译器编译。这表示它的C 和C++代码都必须是相当标准的,以便跨平台支持更加容易。表1-1显示OpenCV在不同运行平台的支持,其中对于Intel和AMD 32位,64位(x86,x64)的支持是最成熟的,对ARM的支持也在迅速改善中。对于操作系统,OpenCV完全支持Windows、Linux、 OS X、Android和iOS。如果一个体系结构或者操作系统没有出现在这个表中,并不意味着这个系统无法使用OpenCV。事实上,OpenCV已经被移植到几乎所有商用系统中,从亚马逊云以及40核的英特尔Xeon Phi到树莓派和机器狗中。
表1-1:OpenCV 1.0发行版本移植性引导
x86/x64 | ARM | 其他:MIP,PPC | |
Windows | SIMD,IPP,Parallel,I/O | SIMD,Parallel (3.0),I/O | N/A |
Linux | SIMD,IPP,Parallel,a I/O | SIMD,Parallel,a I/O | Parallel,a I/O* |
Android | SIMD,IPP (3.0),Parallel,b I/O | SIMD,Parallel,b I/O | MIPS—基本支持 |
OS X/iOS | SIMD,IPP (3.0),Parallel,I/O | SIMD,Parallel,I/O | N/A |
其他:BSD,QNX等 | SIMD | SIMD |
a. Linux中的并行化是通过第三方库或启用OpenMP来实现的 b. Android设备中并行是通过TBB进行的
对表1-1的说明如下。
SIMD
用于加速的向量指令:基于x86,x64,NEON以及ARM的SSE指令集。
IPP
可否使用英特尔I P P加速,从3.0版本开始,函数库自带一个I P P的免费子库
(IPPICV)。
Parallel
一些用于在多核进行线程控制的标准或者第三方线程框架。
I/O
一些用于抓取或者写视频的标准或第三方API。
- 点赞
- 收藏
- 关注作者
评论(0)