个人资料,仅供学习使用
学习课程:OpenCV4 图像处理与视频分析实战教程——贾志刚
00 OpenCV框架介绍+环境搭建
opencv知识点:
- 开源社区 - opencv.org
- GitHub - github.com/opencv
本课所解决的问题:
- 什么是OpenCV框架?
- 如何配置OpenCV环境?
- 如何显示一张图像?
- 为什么Debug下的cmd窗口会输出很多信息?
1.OpenCV 框架介绍
首先,我们先来介绍一下OpenCV的来龙去脉
发展和现状
alpha版与opencv1.0
OpenCV是一个开源的计算机视觉的框架,这个框架最早可以追随到2004年。
2004年,英特尔在CVPR大会上给大家演示了一个新的计算机视觉的框架,不过这个框架只是alpha版本的,但即使如此演示之后还是获得了大家的一致好评与认可。
然后英特尔又继续开发了几年,到了2007年,正式发布了OpenCV1.0这个版本。
OpenCV1.0一经发布,就得到了业界的推崇,很多的计算机视觉开发者都用它来进行项目的开发。
opencv2.0
之后呢,业内在进行项目开发的时候,发现了一些问题,问题是什么呢?
OpenCV1.0版本是基于C开发出来的一个计算机视觉框架平台,在API层面来说,对于开发者并不是特别友好。
然后英特尔继续开发和维护,同时加上一些新的算法,到了2010年,发布了OpenCV2.0这个版本。
2.0这个版本解决了最大的两个痛点
- 在1.0版本时,当我们进行一个大型项目开发的时候,经常会发生内存泄漏的问题。
所以在2.0版本时,OpenCV引入了智能指针这个东西,就把这个问题给解决了。
解决了之后呢,大家就觉得可用性,可靠性提高了,这样工业界的对它的认可度又进一步提升。- 基于C的API晦涩难懂,在开发时增加了人们的学习成本。
当时面向对象编程这种方式已经非常流行了,而C语言传统的函数调用方式来阻碍了这个框架的进一步扩散传播,所以在这样的背景下了,英特尔在2.0开始,引入面向对象,把它慢慢的变成C++的接口。
它的开发者人数又得到了进一步的提升。