我想学OpenCV,需要一些什么样的基础

求高人指点,我想学OpenCV,需要一些什么样的基础
我使用c++语言

作为计算机视觉的开源库,OpenCV强大而实用,下面分享一下我学OpenCV的经验。

刚开始是由于大学生创新项目的原因,在大二的时候就开始接触,当时我已经有了C++和Java的基础了。不过先声明一下,两种语言我都学得不怎么样,囧~既然你想学C++版的OpenCV的API,那就要掌握C++的基础知识,特别是类、继承方面的基本原理,当然要求不是很高,理解就行。我说有Java基础,不是让你学Java,而是掌握一种查API手册的习惯和能力,就是,遇到不懂的类或函数(方法),通过查手册了解。我的这种能力是从Java课上学到的,故在这里赘述。

拿到的第一本书叫《学习OpenCV(中文版)》,这本书是C语言版的,比较经典了。说实话,个人觉得对我的帮助不是很大。除了让我学会了读取图像和视频,还有知道一些图像处理的函数之外,其他倒没有什么。不过里面的原理倒是介绍的不错,不过对于初学者来说,可能效果不是那么好。因为里面涉及的东西太多,感觉吸收有压力。

上面是C语言版的,学着不方便。关于C++版的学习,经过摸索,强烈建议到OpenCV中文网站http://www.opencv.org.cn/学习OpenCV。这个网站有个“中文教程”子模块(http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html),跟着这个教程,一步步的学,基础就可以打牢了。这个教程很好,从安装OpenCV到各个模块的学习,都有简明扼要的讲解和例子源代码(很多可以从OpenCV自带例程中找到)。有些函数如果不熟悉,可以到“中文文档”子模块(http://www.opencv.org.cn/opencvdoc/2.3.2/html/index.html)去查。当然,你可以在论坛上注册个帐号,和别人交流等等。推荐一本书《OpenCV2计算机视觉编程手册》张静,科学出版社。(opencv2主要是针对C++版的)

总的来说,学习OpenCV的时候,切忌一下几点:

    有一定的C++基础,会查阅API手册;

    学会安装配置开发环境;

    针对各个模块学,核心模块必学(特别是矩阵处理),基础的图像处理也要学,其他结合项目学;

    边学边动手,一定要敲代码,看例程;

    遇到问题,查手册,上论坛,网上找资源。。。

好吧,只能帮你到这儿了,祝你成功~:)(P.S.夜深了,这可是我一个字一个字敲的,呜呜~)

追问

感谢你……感谢~!《OpenCV2计算机视觉编程手册》

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-14
其实c++就够了。其他可以边学边百度。最好给自己一个任务,做出什么东西然后一直朝着那个方向做。
要说别的话,数据结构也挺重要的。图像识别又不少算法。遇到还是得自己找弄清楚。数学得好些,特别是矩阵这块,对模式匹配的理解要求有帮助。当然,实在弄不懂的话只能照搬别人的算法了~基本也就这些。加油
相似回答