学习OpenCV 第二版1-4:The Origin of OpenCV
大家可以到这里下载英文原版:http://download.csdn.net/download/zleisure/7451051(下载时请看下资源简介)
OpenCV起源
OpenCV诞生于Intel研究中心,其目的是为了促进CPU密集型应用。为了达到这一目的,Intel启动了多个项目,包括实时光线追踪和三维显示墙。一个在Intel工作的OpenCV作者(Gary)在访问一些大学时,注意到许多顶尖大学中的研究组(如MIT媒体实验室)拥有很好的内部使用的开放计算机视觉库(在学生们之间互相传播的代码),这会帮助一个新生从高的起点开始他/她的计算机视觉研究。这样一个新生可以在以前的基础上继续开始研究,而不用从底层写基本函数。
因此,OpenCv的目的是开发一个普遍可用的计算机视觉库。在Intel的性能库团队的帮助下【3】,OpenCV实现了一些核心的代码以及算法,并发给Intel俄罗斯的库团队。这就是OpenCV的诞生之地:在于软件性能库团队的合作下,它开始与Intel的研究中心,并在俄罗斯得到实现和优化。
俄罗斯团队主要负责人是VadimPisarevsky,他负责管理项目、写代码并优化OpenCV的大部分代码,在OpenCV中很大一部分功劳都属于他。跟他一起,Victor Eruhimov帮助开发了早期的框架,ValeryKuriakin管理俄罗斯实验室并提供了很大的支持。在开始时,OpenCV有以下三大目标。
▪为基本的视觉应用提供开放且优化的源代码,以促进视觉研究的发展。能有效地避免“闭门造车”。
▪通过提供一个通用的架构来传播视觉知识,开发者可以在这个架构上继续开展工作,所以代码应该是非常易读且可改写。
▪本库采用的协议不要求商业产品继续开放代码,这使得可移植的,性能被优化的代码可以自用获取,可以促进基于视觉的商业应用的发展。
这些目标说明了OpenCV的缘起。计算机视觉应用的发展会增加对快速处理器的需求。与单独销售软件相比,促进处理器的升级会为Intel带来更多收入。这也许是为什么这个开放且免费的库出现在一家硬件生产企业中,而不是在一家软件公司中。从某种程度上说,在一家硬件公司里,在软件方面会有更多创新的空间。
任何开放源代码的努力方面,达到一定的规模使项目自己能够发展是非常重要的。目前OpenCV已经有大约七百万的下载量,这个数字仍然在以平均每个月成千上万的下载量递增【4】。OpenCV用户组大约有50000个会员。OpenCV吸纳了许多用户的贡献,核心开发工作已经从Intel转移到别处【5】。OpenCV过去的开发历程如图1-3所示。在发展中,OpenCV受到网络经济泡沫破裂的影响,也受到了无数次管理和发展方向变化的影响。在这些变故中,OpenCV曾经有多次缺乏Intel公司人员的支持。然而,随着多核时代的到来以及计算机视觉的更多应用的出现,OpenCV的价值开始提升。同样,机器人领域技术的快速增长也推动了OpenCV库的利用和发展。成为一个开源库后,OpenCV花了几年在积极开发WillowGarage和Itseez,作为对OpenCV库的支持,现在OpenCV基金会设立了http:// opencv.org。今天,OpenCV在OpenCV.org基金会支持积极开发外,谷歌支持一年15个实习生的“Google代码之夏”计划【6】和再次得到英特尔在开发上的积极支持。过于OpenCV未来的发展,请参考第14章。
图1-3:OpenCV发展路线图
【3】:Shinn Lee(李信弘)提供了主要的帮助。
【4】:值得注意的是,在2006年“学习OpenCV”出版时,这个比率是每月26000。
【5】:在撰写本文时,Itseez(http://itseez.com/)是OpenCV的主要维护者
【6】:Google代码之夏(https://developers.谷歌(goolge).com/open-source/soc/)
学习OpenCV 第二版1-4:The Origin of OpenCV相关推荐
- TensorFlow 深度学习中文第二版·翻译完成
原文:Deep Learning with TensorFlow Second Edition 协议:CC BY-NC-SA 4.0 不要担心自己的形象,只关心如何实现目标.--<原则>, ...
- TensorFlow 深度学习中文第二版(初稿)
TensorFlow 深度学习中文第二版 第 1 章深度学习入门 人工神经网络 ANN 如何学习? 神经网络架构 深度学习框架 总结 第 2 章 TensorFlow 的首次观察 TensorFlow ...
- 李沐d2l《动手学深度学习》第二版——风格迁移源码详解
本文是对李沐Dive to DL<动手学深度学习>第二版13.12节风格迁移的源码详解,整体由Jupyter+VSCode完成,几乎所有重要代码均给出了注释,一看就懂.需要的同学可以在文末 ...
- 李沐《动手学深度学习》第二版比赛2-Classify Leaves
李沐<动手学深度学习>第二版比赛2-Classify Leaves 我的偶像,李沐大神主讲的<动手学深度学习>(使用Pytorch框架,第一版使用的是MXNet框架)目前已经进 ...
- 李沐《动手学深度学习》第二版 pytorch笔记1 环境搭建
李沐<动手学深度学习>第二版pytorch笔记1 搭建环境 文章目录 李沐<动手学深度学习>第二版pytorch笔记1 搭建环境 此时尚有耐心 虚拟环境搭建 创建虚拟环境 查看 ...
- 《精通labview教程——由浅入深的范例学习(第二版)》课后题答案
<精通labview教程--由浅入深的范例学习(第二版)>课后题答案,[美]John Essick著,[译]邓科等 课后题答案偶数部分是教程自带答案,奇数题目是自制答案 下载链接: 第一章 ...
- 强化学习圣经第二版阅读记录
最近开始认真阅读强化学习圣经第二版,本文先记录一下用到的资料: 圣经原版:http://incompleteideas.net/book/the-book-2nd.html 圣经中文翻译版:http: ...
- 学习bash第二版-前言
UNIX或Linux操作系统用户将面对的第一件事就是shell."shell"是一个用户与系统交互接口的UNIX术语.它使用户可以通过键盘和显示设备与计算机进行交流.shell只是 ...
- Makefile学习(二)[第二版]
复杂实例 #示例1:在上一个示例的基础上再增加一个可执行文件03test[修改之处已标红] .PHONY: clean all CC = gcc CFLAGS = -Wall -g BIN = 01t ...
最新文章
- iOS 富文本编辑工厂, 让书写更简便.
- Scanpy(四).细胞分化轨迹推断
- linux基础命令 echo
- python django -5 进阶
- Could not get unknown property 'ANDROID_BUILD_SDK_VERSION'
- 都2021年了,不会还有人连深度学习都不了解吧(三)- 损失函数篇
- IT培训分享:学什么语言不愁找工作?
- QuickStart系列:docker部署之MariaDB
- es6 --- 手写一个promise
- 三、“涤纶纤维和棉纤维两组分纤维在涤/棉混纺织物燃烧过程中有着明显的物理相互作用和化学相互作用”,解释这两种作用。
- c++ string类_C++|细说STL string类概貌及底层细节
- hibernateTemplate update 修改指定字段
- 使用Python往Elasticsearch插入数据
- 双目测距(一)--图像获取与单目标定
- 将公式直接转化为Latex代码的神器-snip
- Android8.0替换默认静态壁纸
- linux软路由 iptv,软路由实现任意端口看IPTV电视的方法
- 学画画,这些美术集标记好的学习重点拿去用
- 针对Intel芯片mac、win平台对cpu功耗、频率、电源等信息检测
- Mac OS X Lion 系统中检测 WiFi 信号强度