OpenCV3.0 3.1版本号的改进

Posted ljbguanli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV3.0 3.1版本号的改进相关的知识,希望对你有一定的参考价值。

??

摘要

 
     OpenCV如今更新到了3.1版本号,相对OpenCV2有了非常大改进,当中对于硬件加速,移动开发(iosandroid)的支持成为亮点。
     新版的OpenCV採用了内核+插件的架构模式,总体上更加易于扩展。
     当中最与时俱进的特点就是 支持最新的 Windows 和 OS X 操作系统和最新的开发工具 (VS2015 和 Xcode 7),支持 Andorid 5。软件的更新换代推动硬件更新,并进一步推动摩尔定律,相信OpenCV的新版会带动很多其它人更新Win10,vs2015等等革命性的产品,同一时候购买能够并行加速的N卡。在软硬件层面获取性能的提升从而产出科研成果或者优秀的应用。

(一)google编程之夏

 
OpenCV基础库的更新:得益于google summer of code更新了一大批有意思的项目

    • Omnidirectional Cameras Calibration and Stereo 3D Reconstruction – opencv_contrib/ccalib module (Baisheng Lai, Bo Li)
    • Structure From Motion – opencv_contrib/sfm module (Edgar Riba, Vincent Rabaud)
    • Improved Deformable Part-based Models – opencv_contrib/dpm module (Jiaolong Xu, Bence Magyar)
    • Real-time Multi-object Tracking using Kernelized Correlation Filter – opencv_contrib/tracking module (Laksono Kurnianggoro, Fernando J. Iglesias Garcia)
    • Improved and expanded Scene Text Detection – opencv_contrib/text module (Lluis Gomez, Vadim Pisarevsky)
    • Stereo correspondence improvements – opencv_contrib/stereo module (Mircea Paul Muresan, Sergei Nosov)
    • Structured-Light System Calibration – opencv_contrib/structured_light (Roberta Ravanelli, Delia Passalacqua, Stefano Fabri, Claudia Rapuano)
    • Chessboard+ArUco for camera calibration – opencv_contrib/aruco (Sergio Garrido, Prasanna, Gary Bradski)
    • Implementation of universal interface for deep neural network frameworks – opencv_contrib/dnn module (Vitaliy Lyudvichenko, Anatoly Baksheev)
    • Recent advances in edge-aware filtering, improved SGBM stereo algorithm – opencv/calib3d and opencv_contrib/ximgproc (Alexander Bokov, Maksim Shabunin)
    • Improved ICF detector, waldboost implementation – opencv_contrib/xobjdetect (Vlad Shakhuro, Alexander Bovyrin)
    • Multi-target TLD tracking – opencv_contrib/tracking module (Vladimir Tyan, Antonella Cascitelli)
    • 3D pose estimation using CNNs – opencv_contrib/cnn_3dobj (Yida Wang, Manuele Tamburrano, Stefano Fabri)
 

(二)社区的贡献


社区的贡献我说几个我觉的比較有意思的:

1.RGD-D格式图像的支持。众所周知这是如今三维重建领域的一大热门。带有深度信息的图像极慷慨便了三维重建步骤。相当于直接可以重建点云。

2.cvpr历来是比較注重project领域的应用,本次增加了cvpr2015的一篇新论文。可谓与时俱进。我们用上OpenCV就用上了最前沿的科研成果。

(这篇是机器学习的相关内容)


3.更新了python3的相关内容,使用python3重写了python的一些接口

(三)其它一些改进

 

1.IOS的更新。从2.4.3版本号開始支持ios
主要调用的是oc接口
2.OpenCL(感觉这个比cuda靠谱)

3.Intel芯片在性能上的提升

4.硬件加速层:HAL (Hardware Acceleration Layer)。封装了一些经常使用矩阵加减法的硬件加速实现。后序3.2版本号在这块会有比較大的改进,毕竟要用加速就得又一次编译比較复杂。

5.贡献了一个直接使用OpenCV处理图像的gui接口(应该说是程序更准确),假设你仅仅是想处理一下图片不想写代码这个正好满足你的需求

(四)3.0版本号的主要更新

 

1.直接集成了cuda模块
 
    cuda模块的介绍:
看了一下文档。这玩意还得用cmake又一次编译才干用。拉倒吧。老夫编译一次几个小时。各种附加依赖库错误层出不穷。有那gpu加速的那点时间,要么直接用cuda重写了,要么串行也算出来了。

为啥就不能仅仅能点,检測到是N卡加几个dll或者配置一下直接跑呢。还请过来人指点迷津。



2.配置上更加方便


技术分享

 
3.架构的改进
体会一下插件加扩展的架构


技术分享

 

參考文献

OpenCV git上面的更新日志:
《OpenCV3编程入门》----感觉好像没介绍多少有关3的新特性,确实是入门书























以上是关于OpenCV3.0 3.1版本号的改进的主要内容,如果未能解决你的问题,请参考以下文章

SVN多项目并行版本管理解决方案

版本号的定义

版本号的更新原则

软件项目版本号的命名规则及格式

软件版本规则

不分散版本号的maven项目层次结构