转自:http://baike.baidu.com/link?url=La63ZsuqOW1YdyW5UAHQ5zDphzSB58-IcC1SUl2Njit4T0frWPrjflJIuk66RydifpPMBJ50HETrZhr5NrhrU_

OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#,Ch, Ruby的支持。
所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。
中文名

开源计算机视觉库

外文名

Open Source Computer Vision Library

简    称

opencv

功    能

提供Python、Ruby、MATLAB接口

结    构

C 函数和C++ 类构成

目录

1定义

2历史发展

3优势

4应用领域

5其他相关

6编程语言

7系统支持

8版本发布

1定义编辑

OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一个基于[1](开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。[2]最新版本是3.0 ,2015年6月4日发布[3]。
OpenCV 拥有包括 500 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。
OpenCV 为Intel® Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器优化的 IPP 库, OpenCV 将在运行时自动加载这些库。[4]
(注:OpenCV 2.0版的代码已显著优化,无需IPP来提升性能,故2.0版不再提供IPP接口)[5]

2历史发展编辑

1999年1月,CVL项目启动。主要目标是人机界面,能被UI调用的实时计算机视觉库,为Intel处理器做了特定优化。
2000年6月,第一个开源版本OpenCV alpha 3发布。
2000年12月,针对linux平台的OpenCV beta 1发布。
2006年,支持Mac OS的OpenCV 1.0发布。
2009年9月,OpenCV 1.2(beta2.0)发布。
2009年10月1日,Version 2.0发布。
2010年12月6日,OpenCV 2.2发布。
2011年8月,OpenCV 2.3发布。
2012年4月2日,发布OpenCV 2.4。
2014年8月21日,发布OpenCv 3.0 alpha。
2014年11月11日,发布OpenCV 3.0 beta。
2015年6月4日,发布OpenCV 3.0。
OpenCV 使用类BSDlicense,所以对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)。
OpenCV提供的视觉处理算法非常丰富,并且它部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,OpenCV的代码经过适当改写可以正常的运行在DSP系统和单片机系统中,这种移植在大学中经常作为相关专业本科生毕业设计或者研究生课题的选题。

3优势编辑

为什么有OpenCV
计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:
1.研究代码(慢,不稳定,独立并与其他库不兼容)
2.耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)
3.依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状。而标准的API将简化计算机视觉程序和解决方案的开发。OpenCV致力于成为这样的标准API。
OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其

OpenCV与其它视觉函数库性能对比

执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。右图为OpenCV与当前其他主流视觉函数库的性能比较。

4应用领域编辑

1、人机互动
2、物体识别
3、图像分割
4、人脸识别
5、动作识别
6、运动跟踪
7、机器人
8、运动分析
9、机器视觉
10、结构分析
11、汽车安全驾驶

5其他相关编辑

作者列表可以在AUTHORS文件中找到。
此外,还有很多人给出了建议、补丁、BUG 报告等等,在文件THANKS中对此有一个不完全的列表。
想要了解OpenCV的新特征,请参考OpenCVChangeLog。
如果有问题,在Google中输入"OpenCV"搜索。
如果在安装/运行/使用OpenCV中遇到问题
1、阅读FAQ中文
2、在 OpenCV 邮件列表中搜索。
3、加入到 yahoo group 上的 OpenCV 邮件列表中(如何加入请参考 FAQs),并发送你的问题到邮件列表中。(这个邮件列表可能会迁移到OpenCV's SourceForge site)
4、参考 OpenCV 的例子代码,阅读参考手册。

6编程语言编辑

OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#,Ch, Ruby的支持。
所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。

7系统支持编辑

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

8版本发布编辑

2010年12月06日,OpenCV 2.2.0 正式版发布。[6]
2011年06月25日,OpenCV-2.3.0rc 发布了,新增加了一个stitching拼接模块,Android支持更加方便了,使用Google test框架,其他变化主要是内部性能改进。
2013年07月03日,OpenCV 2.4.6发布。
主要更新是关于手持设备方面的:
首先,OpenCV 2.3的Android build终于变成了官方支持的NDK-Build的方式了。以前的方法相当让人头疼,使用的非Android官方的方法去写JNI接口,tutorial跟着走一遍也不知道所以然。
其次,What’s new里面说道,新的Android支持是NVidia在开发。本来OpenCV就是支持CUDA显卡加速的。[7]
2013年12月31日,OpenCV 2.4.8发布。
2014年4月25日,OpenCV 2.4.9发布。
2014年8月21日,OpenCv 3.0 alpha版本发布。
2014年11月11日,OpenCv 3.0 beta版本发布。
2015年6月4日,OpenCV 3.0版本发布。[3]

opencv 脸部识别开源软件相关推荐

  1. 2015 年 Git@OSC 新增热门开源软件项目 Top 50

    在刚刚过去的 2015 年里,Git@OSC 取得了巨大的发展,收录了大量热门优秀作品.与<2015 年 Git@OSC 最热门开源项目 Top 50>一样,此榜单仍然是通过 Watch. ...

  2. 我整理的ubuntu开源软件列表,适合于极客

    2017年第一次安装Ubuntu系统,我喜欢用上了开源软件,很少切换到windows系统下.后来发誓,如无必要,绝不使用闭源软件. 每次重装系统都要花费很多时间去找和安装软件,我想自动安装 记得在系统 ...

  3. 共有65款 计算机视觉库/人脸识别开源软件

    转载:https://www.cnblogs.com/Anita9002/p/5038533.html. 引自:http://www.oschina.net/project/tag/316/openc ...

  4. 最近几年的国内开源软件侵权事件

    我们回顾一下最近几年的国内开源软件侵权事件 麒麟操作系统与FreeBSD代码事件 麒麟操作系统是由国防科技大学.中软公司.联想公司.浪潮集团和民族恒星公司合作研制的闭源服务器操作系统.此操作系统是86 ...

  5. OpenSfM开源软件使用小心得

    OpenSfM开源软件使用小心得 1 常用的开源Structure-from-Motion软件 2 OpenSfM的简易运行(基于Linux) 3 OpenSfM的运行命令 4 个性化OpenSfM ...

  6. Apollo开源软件ROS定制版差异化分析

    Apollo开源软件ROS定制版差异化分析 什么是ROS? 什么是Apollo定制版ROS? 什么是Apollo? 为什么Apollo需要自行开发定制版ROS? 不同之处的对比 更可靠的安全性 更快的 ...

  7. Autoware-用于城市自主驾驶的开源软件

    Star 200+ https://github.com/CPFL/Autoware 用于城市自主驾驶的开源软件. http://www.tier4.jp/ Autoware 用于城市自主驾驶的集成开 ...

  8. 2018中国人工智能开源软件发展白皮书-笔记

    "2018中国人工智能开源软件发展白皮书"是新手了解人工智能技术原理和技术现状的好文档,读完之后有再读几遍的冲动,学到了很多东西,做了笔记分享给大家共同学习,有不对的地方多多指出. ...

  9. 计算机视觉库/人脸识别开源软件

    中文车牌识别系统 EasyPR EasyPR 是一个开源的中文车牌识别系统. EasyPR是一个中文的开源车牌识别系统,其目标是成为一个简单.灵活.准确的车牌识别引擎. 相比于其他的车牌识别系统,Ea ...

最新文章

  1. 深度强化学习_深度学习理论与应用第8课 | 深度强化学习
  2. Exchange Server 2000/2003 中设定超过2G的邮箱图解
  3. 面向过程与面向对象引入三大特性事务
  4. LeetCode 293. Flip Game
  5. goldengate版本升级( from v10.4 to v11.1.1.1.0.29)
  6. 查看 SELinux状态及关闭SELinu
  7. element label动态赋值_浅析 vuerouter 源码和动态路由权限分配
  8. java jar 目录_将Java类路径中的所有jar包括在一个目录中
  9. java执行python脚本_使用Runtime.getRuntime().exec()在java中调用python脚本
  10. Bioconductor软件安装与升级
  11. 75-商品服务-品牌分类关联与级联更新
  12. ubuntu启动脚本的一些笔记
  13. Linux下实现一个网卡绑定多个IP地址
  14. CentOS7 上以 RPM 包方式安装 Oracle 18c 单实例
  15. 截图软件 snipaste
  16. Python机器学习:Grid SearchCV(网格搜索)
  17. 九款好看的后台管理系统登录模板
  18. Cloud Rover隐私政策
  19. 浅谈HTTP中Get、Post、Put与Delete的区别
  20. ubuntu上安装drcom

热门文章

  1. 从零开始学SEO的基础概念
  2. 数字证书认证(CA)中心
  3. 财报惊喜不断,京东彻底走出阴霾?
  4. 软件行业如何开始创业
  5. 学前教育计算机结束A卷,学前儿童发展心理学试卷A卷
  6. 【论文精读】UV-SLAM: Unconstrained Line-based SLAM Using Vanishing Points for Structural Mapping
  7. 伊朗 2018 ICPC区域赛 A : Iranian ChamPions Cup
  8. 4.2 Hive SQL
  9. 计算机英语 自我介绍,计算机专业英文自我介绍
  10. 小狗钱钱:钱钱的金钱语录