manbetx体育客户端2.0

opencv

  

  声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。详情

  OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉机器学习软件库,可以运行在LinuxWindowsAndroidMac OS操作系统上。

  OpenCV用C++语言编写,它具有C ++,PythonJavaMATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。

  OpenCV 拥有包括 500 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。

  OpenCV 为Intel® Integrated Performance Primitives(IPP)提供了透明接口。这意味着如果有为特定处理器优化的 IPP 库,OpenCV 将在运行时自动加载这些库。

  (注:OpenCV 2.0版的代码已显著优化,无需IPP来提升性能,故2.0版不再提供IPP接口)

  1999年1月,CVL项目启动。主要目标是人机界面,能被UI调用的实时计算机视觉库,为做了特定优化。

  2000年12月,针对linux平台的OpenCV beta 1发布。

  2016年12月,发布OpenCV 3.2版(合并969个修补程序,关闭478个问题)

  2017年8月3日,发布OpenCV 3.3版(最重要的更新是把DNN模块从contrib里面提到主仓库)

  OpenCV 使用类BSDlicense,所以对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)

  OpenCV提供的视觉处理算法非常丰富,并且它部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,OpenCV的代码经过适当改写可以正常的运行在DSP系统和ARM嵌入式系统中,这种移植在大学中经常作为相关专业本科生毕业设计或者研究生课题的选题。

  计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:

  2、耗费很高的商业化工具(比如Halcon,MATLABSimulink)

  3、依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状,而标准的API将简化计算机视觉程序和解决方案的开发,OpenCV致力于成为这样的标准API。

  OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。右图为OpenCV与当前其他主流视觉函数库的性能比较。

  此外,还有很多人给出了建议、补丁、BUG 报告等等,在文件THANKS中对此有一个不完全的列表。

  想要了解OpenCV的新特征,请参考OpenCV Change Log。

  如果有问题,在Google中输入OpenCV搜索。

  3、加入到 yahoo group 上的 OpenCV 邮件列表中(如何加入请参考 FAQs),并发送你的问题到邮件列表中。(这个邮件列表可能会迁移到OpenCVs SourceForge site)

  OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby的支持。

  所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。

  OpenCV可以在Windows,Android,Maemo,FreeBSD,OpenBSD,iOS,Linux 和Mac OS等平台上运行。使用者可以在 SourceForge 获得官方版本,或者从 SVN 获得开发版本。OpenCV也是用CMake。

  在Windows上编译OpenCV中与摄像输入有关部分时,需要DirectShow SDK中的一些基类。该SDK可以从预先编译的Microsoft Platform SDK(or DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0)的子目录Samples\Multimedia\DirectShow\BaseClasses获得。

  2011年06月25日,OpenCV-2.3.0rc 发布了,新增加了一个stitching拼接模块,Android支持更加方便了,使用Google test框架,其他变化主要是内部性能改进。

  首先,OpenCV 2.3的Android build终于变成了官方支持的NDK-Build的方式了。以前的方法相当让人头疼,使用的非Android官方的方法去写JNI接口,tutorial跟着走一遍也不知道所以然。

  其次,What’s new里面说道,新的Android支持是NVidia在开发。本来OpenCV就是支持CUDA显卡加速的。