3.0将是OpenCV的又一个革命性版本,它会带来哪些改变呢?
- 大体上保留了OpenCV 2经典的C++和Python编程接口风格。其中,Python接口大大增强,也加入了Python 3.x的支持。一般来说,以前版本的程序只要做少数修改,就可以使用OpenCV 3了。另外还改善了Java接口,并且加入了MATLAB支持。
- 架构调整。图片、视频编解码从highgui模块分离出来,组成了imgcodecs和videoio。原先的OpenCL模块ocl事实上与其 它模块融为一体,而CUDA加速模块gpu分解成了数个以cuda开头的模块。此外,除了官方支持的OpenCV代码,还有一些自发贡献的内容、不稳定的 内容,或者版权尚存争议的内容,都放到了新的仓库opencv_contrib中。
- 更多新算法。新版本包括了TLD、鱼眼镜头模型等全新算法,还包括了一些更高层次可以直接拿来用的高级封装,比如汽车检测等。
- 引入T-API,使OpenCL加速更容易。目前可以参考OpenCV源代码中T-API的范例。可以发现,开启和关闭OpenCL加速,只需要一个语句就够了。这也就是为什么ocl模块会消失了吧。
- 更多指令集优化。除了之前为Intel CPU做的优化以外,OpenCV 3还容纳了ARM平台NEON指令集的支持。通过英特尔的帮助,OpenCV 3对x86和x64平台默认使用IPP,这杠杠的加速我就不多说了,上图!
那么现在大家最关心的应该是稳定性如何呢?OpenCV 3.0 beta通过了绝大部分测试,只有一小部分涉及32位Windows的没有通过,作一般使用也不会有太大问题了。
更详细的说明(关于开发和目录):http://zhuanlan.zhihu.com/hacker-and-painter/19988205
时间: 2024-11-18 10:47:14