OpenCV,全称为Open Source Computer Vision Library,是计算机图像处理和机器视觉领域最为常用的开源库,其中API皆通过C/C++实现,涵盖了很多图像处理和机器视觉方面的通用算法。
http://wiki.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5
http://www.opencv.org.cn/forum.php
起源与发展
OpenCV是针对实时计算机视觉应用开发的函数接口库,最初由Intel所开发。该接口库的主要目的是整合数字图像视频处理及机器视觉相关算法,提供统一的、易用的、友好的算法功能接口,以便于相关应用产品的快速开发。
该接口库具有跨平台特性,并且其源代码使用BSD license进行开源管理。
BSD开源协议规则如下:源代码可以自由的使用和修改,且可以将修改后的代码作为开源或者专有软件进行再发布,仅需满足以下三个发布条件:
1)若再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
2)若再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
3)不可以用开源代码的作者/机构名字和原来产品的名字进行市场推广。
BSD允许使用者修改和重新发布代码,以及进行商业软件的开发、发布和销售,属于对商业集成很友好的协议。因此,很多企业在选用开源产品的时候会首选BSD协议,以便于完全控制这些第三方代码,并且进行必要的修改或者二次开发。BSD鼓励代码共享,但需要尊重代码作者的著作权。
OpenCV的第一个Alpha版本是由IEEE Conference on Computer Vision and Pattern Recognition于2000年所发布,并且在2001年至2005年期间,陆续发布了5个Betas版本。
直至2006年才正式发布了1.0版本。
在2009年正式发布的2.0版本中,所有的开发和算法接口均被统一为C++实现。
Version | Released | Reason | Lifetime |
pre 1.0 | 2000 | -- | 6 years |
1.0 | 2006 | maturity (C API) | 3 years |
2.0 | 2009 | C++ API | >3 years |
3.0 | 2014 | several (next level maturity, new architecture, T-API, Intel IPP, Python 3.x and Matlab support, ...) | -- |
应用领域
-
数字图像处理
-
数字视频处理
-
人脸识别
-
模式识别
环境搭建
Visual Studio搭建OpenCV开发环境的详细步骤如下:
https://blog.csdn.net/github_35160620/article/details/52365263
其它环境下的搭建步骤可以参考以下链接: