1.我想学OpenCV,需要一些什么样的基础
作为计算机视觉的开源库,OpenCV强大而实用,下面分享一下我学OpenCV的经验。
刚开始是由于大学生创新项目的原因,在大二的时候就开始接触,当时我已经有了C++和Java的基础了。不过先声明一下,两种语言我都学得不怎么样,囧~既然你想学C++版的OpenCV的API,那就要掌握C++的基础知识,特别是类、继承方面的基本原理,当然要求不是很高,理解就行。我说有Java基础,不是让你学Java,而是掌握一种查API手册的习惯和能力,就是,遇到不懂的类或函数(方法),通过查手册了解。我的这种能力是从Java课上学到的,故在这里赘述。
拿到的第一本书叫《学习OpenCV(中文版)》,这本书是C语言版的,比较经典了。说实话,个人觉得对我的帮助不是很大。除了让我学会了读取图像和视频,还有知道一些图像处理的函数之外,其他倒没有什么。不过里面的原理倒是介绍的不错,不过对于初学者来说,可能效果不是那么好。因为里面涉及的东西太多,感觉吸收有压力。
上面是C语言版的,学着不方便。关于C++版的学习,经过摸索,强烈建议到OpenCV中文网站/doc/tutorials/tutorials.html),跟着这个教程,一步步的学,基础就可以打牢了。这个教程很好,从安装OpenCV到各个模块的学习,都有简明扼要的讲解和例子源代码(很多可以从OpenCV自带例程中找到)。有些函数如果不熟悉,可以到“中文文档”子模块(/index.html)去查。当然,你可以在论坛上注册个帐号,和别人交流等等。推荐一本书《OpenCV2计算机视觉编程手册》张静,科学出版社。(opencv2主要是针对C++版的)
总的来说,学习OpenCV的时候,切忌一下几点:
1. 有一定的C++基础,会查阅API手册;
2. 学会安装配置开发环境;
3. 针对各个模块学,核心模块必学(特别是矩阵处理),基础的图像处理也要学,其他结合项目学;
4. 边学边动手,一定要敲代码,看例程;
5. 遇到问题,查手册,上论坛,网上找资源。
好吧,只能帮你到这儿了,祝你成功~:)(P.S.夜深了,这可是我一个字一个字敲的,呜呜~)
2.学习OpenCV(中文版) 这本书怎么样
中文版的目前有两个出版社出版,清华大学出版社(于仕琪,刘瑞祯译)和东南大学出版社。
最近网上购买了一本前者的书(加邮寄费70元,最新正版的,2009年9月版)用于毕业设计,内容通俗易懂,循序渐进,涉及范围广,比较适合初学者和对OpenCV感兴趣的计算机及相关专业人员使用。从概述到入门,及之后涉及许多相关算法,是一本非常基础和全面的书籍。配有图形说明和简单示例与代码,每章节结束均有相应题目,读起来不是很枯燥。
如果想学习OpenCV应该有一本书,同时也应该注意上一些OpenCV学习的往站,扩充下知识面。