OpenCV
OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。
原作者 | 英特尔公司 |
---|---|
初始版本 | 2000年6月 |
穩定版本 | 4.5.0 (2020年10月12日 ) |
源代码库 | |
操作系统 | 跨平台 |
类型 | 开发函式庫 |
许可协议 | Apache许可证2.0 4.5.0版前:BSD许可证 |
网站 | opencv |
历史
OpenCV项目最早由英特尔公司于1999年启动,致力于CPU密集型的任务,是一个包括如光线追踪和3D显示的计划的一部分。早期OpenCV的主要目标是
- 为推进机器视觉的研究,提供一套开源且优化的基础库。不重造轮子。
- 提供一个共同的基础库,使得开发人员的代码更容易阅读和转让,促进了知识的传播。
- 透過提供不需要开源或免费的软件许可,促进商业应用软件的开发。
- OpenCV现在也集成了对CUDA的支援.
OpenCV的第一个预览版本于2000年在IEEE Conference on Computer Vision and Pattern Recognition公开,並且陸續提供了五個測試版本。1.0版本於2006年發布。
OpenCV的第二个主要版本是2009年10月的OpenCV 2.0。该版本的主要更新包括C++接口,更容易、更类型安全的模式,新的函式,以及对现有实现的优化(特别是多核心方面)。现在每6个月就会有一个官方版本[1],并由一个商业公司赞助的独立小组进行开发。
在2012年8月,OpenCV的營運由一个非營利組織(OpenCV.org)来提供,并保留了一個开发者网站[2]和用户网站。[3]
编程语言
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以透過在线文档取得。[4]现在也提供对于C#, Ch,[5] Ruby的支持。
操作系统支持
OpenCV可以在Windows, Android,[7] Maemo,[8] FreeBSD, OpenBSD, iOS,[9] Linux和Mac OS等平台上运行。使用者可以在Github获得官方版本,或者从Git获得开发版本。OpenCV也是用CMake.
Windows
在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获得。
参考文献
- OpenCV change logs: . [2012-11-20]. (原始内容存档于2013-01-15).
- OpenCV Developer Site: http://code.opencv.org Archive.is的存檔,存档日期2013-01-13
- OpenCV User Site: http://opencv.org/ 页面存档备份,存于
- OpenCV C interface: http://docs.opencv.org 页面存档备份,存于
- Ch OpenCV: http://www.softintegration.com/products/thirdparty/opencv/ 页面存档备份,存于
- Cuda GPU port: http://opencv.org/platforms/cuda.html 页面存档备份,存于
- Android port: . [2012-12-30]. (原始内容存档于2012-11-26).
- Maemo port: https://garage.maemo.org/projects/opencv 页面存档备份,存于
- iPhone port: http://www.eosgarden.com/en/opensource/opencv-ios/overview/ 页面存档备份,存于