第一章
谁使用OpenCV
大多数程序员工程师,或多或少知道“计算机视觉”是什么东西,但是很少有人对于计算机视觉能够运用的区域有全面的认识。比方说,很多人知道图像出来运用于监督和网页上的图像视频处理。但是很少有人知道“计算机视觉”在游戏中(比如Google街景)非常依赖镜头矫正和图像拼接技术。……事实上新技术中,或多或少会和“计算机视觉”相关联。
OpenCV的由来
OpenCV由Intel research 而来……在Intel研究的时候,其中一个作者,Gary Bradski在Intel工作,当时到大学参观的时候,注意到一些顶级大学团队,比如MIT MEDIA LA,有自己的开源算法库—在学生之间口儿相传。这样,新来的学生就能够在一个比较高的起点上开始工作和学习。
同样OpenCV的创建也是同样的目的。在Intel's Performace Library Team的帮助下,OpenCV创建了核心代码和算法,并且送到Intel俄国队伍,这就是OpenCV的又来:它从Intel的俄国实验室中出现。
OpenCV Block Diagram
OpenCV系统按照层级创建。最上面的是操作系统,然后是开发语言和例子程序;再下面是opencv_contrib(现在已经专门分库),主要包括的就是一些高级实现,再下面是OpenCV 的核心实现,在下面就是硬件抽象(HAL)
使用CMake编译最新的OpenCV代码(参看专门的章节)
使用Git获得最新版本的OpeCV
需要注意的是,github在目前访问的速度比较慢,翻墙也慢,改了host好一些,但是肯定是被限速了,如果哪位知道提速的方法(移民除外),请告知一下,感谢!
这里就是需要转变一个思想,OpenCV官方提供的版本(比如3.0 3.2)只是在有较大改进后的大的版本,其实我们自己可以自己从网上把最新的代码拉下来,编译得到的结果就是最新的。
下一步,一方面我计划在云服务器里面开设自动编译功能,每天定时从git上拉最新代码并进行编译,然后将最新的编译结果以链接的形式放出来。请大家保持关注。
OpenCV自己提供的资源
主要要就是DOC中的几个PDF,以前版本都是在代码里面的,我看来一下,最新的好像要自己下载。
包括
reference.pdf 参考,类似于wiki,就是将函数的参数是什么作用,如何使用的;
tuorials.pdf 教程,里面有例子,要仔细阅读;
Quick Start.pdf 立刻上手,基本上上手了就不用看了;
Cheat Sheet.pdf 及时参考,非常好的东西,常用的函数都在上面,可以用一张A4纸正方面打印出来供参考;
wiki q&a 都是在线网络资源