如何从入门开始学习OpenCV

作者&投稿:泰依 (若有异议请与网页底部的电邮联系)
如何从入门开始学习OpenCV~

方法如下:
先去下载最新版OpenCV,网址如下:http://nchc.dl.sourceforge.net/project/opencvlibrary/opencv-win/2.4.3/OpenCV-2.4.3.exe。下载完成后解压到相应目录。本人解压到D:\Program Files\OpenCV2.4.3。
有的文章提到使用CMake把OpenCV下面的范例生成为Visual Studio的工程,此处我没有这样做。直接使用范例。这里先把OpenCV目录下面的几个重要目录做个说明:
doc目录:主要包含OpenCV的帮助文档。其中opencv2refman.pdf主要是OpenCV的各种类和函数的使用说明。
opencv_tutorials.pdf,主要是下面教学代码目录里面各个教学范例的简单讲解。
opencv_cheatsheet.pdf主要是最常用OpenCV类和函数的集合。此3个PDF文档对自学者帮助最大。
samples\cpputorial_code目录:里面包含基本教学代码。和上面的opencv_tutorials.pdf文档遥相呼应,构成一个完整的自学体系。
build目录:包含编译,调试,发布所需要的各类动态库,静态库,头文件等。因为OpenCV2.4.3好像只支持Visual Studio 2008以上版本,我在这里以Visual Studio 2008为例讲解如何让范例跑起来。
添加环境变量:此处我在path环境变量中添加如下目录:D:\Program Files\OpenCV2.4.3\build\x86\vc9\bin。记住在前面一个目录后面加分号。
在Visual Studio中包含头文件目录:见附件中的图片,已经用红色矩形框标识如何操作。
在Visual Studio中包含库文件目录:见附件中的图片,已经用红色矩形框标识如何操作。4
建立一个新建Visual Studio VC win32控制台应用工程,这里我选择带预编译头的工程,省去添加cpp文件的工作。
代码创建:这里我选择samples\cpputorial_code\ImgProc\Morphology_2.cpp文件。先添加包含目录,如下(以后所有范例均可以如下添加):#include #include 然后复制代码。
编译文件:自然少不了要包含静态库,要添加的库(debug版和release差别就是文件名后多了一个d标识是debug版)如下:
debug版:
opencv_calib3d243d.lib
opencv_contrib243d.lib
opencv_core243d.lib
opencv_features2d243d.lib
opencv_flann243d.lib
opencv_gpu243d.lib
opencv_haartraining_engined.lib
ibrelease版:
opencv_calib3d243.lib
opencv_contrib243.lib
opencv_core243.lib
opencv_features2d243.lib
opencv_flann243.lib
opencv_gpu243.lib
字符集设置:如果编译过程中出现如下错误:不能将参数 1 从“_TCHAR *”转换为“const std::string &”原因如下: 无法从“_TCHAR *”转换为“const std::string”。请字符集设置为“使用多字节字符集”。
最后指定命令后参数:方法见附件。这样就可以不用在windows命令行下输入参数了,方便调试,但是要注意,图片必须放在你所建立的工程目录下(和.cpp以及.h文件同一目录)。否则就要加上相应的路径。如果参数多于1个,请以空格分开。
支持所有参数设置完成,开始编译运行吧。如果Visual Studio无问题的话,按照以上按部就班操作,每个范例均可以正常运行。

首先你的软件实在太旧了。。最起码装个OpenCV 2.x的版本和VS2010吧。。
OpenCV有专门的教材,叫做《学习OpenCV》,你可以买一本看,网上也有电子版。

如何从入门开始学习OpenCV
OpenCV只是个lib,它既不是软件、也不是编程语言,所以我觉得从头到尾按照教程来看一遍可能会存在学习枯燥、无的放矢的局面。

最好的方法是带着问题去学,先从最简单的地方入手,比如调用OpenCV的GUI界面来调节一幅图像的灰度,再复杂些可以利用鼠标交互来实现PS的魔棒效果(分水岭算法)等等,这些网上都有很多现成的代码来学习,OpenCV 中文论坛上也有不少大牛来回答问题。

单纯的学习OpenCV的人不多,学习OpenCV只是为了更方便的编程,所以某种角度来看

OpenCV只是把锋利的快刀,用刀本身不是目的,用刀切出有型的菜才是目的。

如果没有编程语言的要求,建议从Python 2.7 +OpenCV 2.4X 入手,为解决问题而思考,有种用Matlab的畅快感。
《Learning OpenCV》是本好书,可以在入门后作为工具书查阅。

1. OpenCV Tutorials
这是第一手资料。你学任何东西,第一手资料肯定是与时俱进,最值得阅读的。

2. 学习OpenCV(中文版) (豆瓣)
这本虽然是OpenCV1时代的语法,但是这本书的精髓是带着你把从图像处理到计算机视觉的基础知识循序渐进地捋了一遍。

3. OpenCV2计算机视觉编程手册 (豆瓣)
这本书是基于OpenCV2的语法来讲的,算是《学习OpenCV》的语法升级版,随书附带的源代码值得读一下。

4. Mastering OpenCV with Practical Computer Vision Projects (豆瓣)
这本书的实例很有趣,增强现实,属于现在很火的项目方向了。跟着做下来,改一改没准还可以派上用场。


怎样从零基础学习EXCEL
对于Excel的新手,我们建议先从扫盲做起。首先需要买一本Excel的入门教程,或者参加一下正规的电脑学校的初级班。在这个过程里面,学习者需要大致了解到Excel的基本操作方法和常用功能,诸如输入数据,查找替换,设置单元格格式,排序、汇总、筛选和保存工作簿。如果学习者有其他的应用软件使用经验,特别是其他...

英语基础为O,如何学习英语呢?
其实英语很好学,但一定要努力!首先必须学会音标 第二,从最基本开始,一点点学,先不要急着学语法,先学基本句型,从there be开始。第三,背单词,背句型,用学的句型造句 。第四,多做习题,掌握零碎知识。建议你找个外教一点点补。http:\/\/www.douban.com\/note\/83583344\/ 还有,学英语就是一...

求助:我想学英语,但不知从何入手?
我觉得最应该从音标开始学起,因为音标就像汉语里的拼音一样重要,学好了音标才能根据音标去背单词,然后再背短语,紧接着结合语法去学习。a[ei:]b[bi:] c[si:] d[di:] e[i:] f[ef] g[dʒ] h[ei:tʃ] i[ai] j[dʒei:]k[kei:] l[el] m[em] n[en] o[&#...

学日语要从哪开始学起?什么学习方法好呢?
专门用来表示外来词。【日语声调】日语词语中的各个音节之间存在的高低、轻重的配置关系叫做声调(アクセント)。对于零基础学日语的同学来说,日语学习首先要从五十音图和发音开始,对于学习能力不是特别强的,还可以选择一个专业的日语培训班,系统的学习一下基础入门会更有帮助。

学电脑从哪学起?
学习电脑主要靠自学 电脑对初学者,老师引进门很重要,但以后就要靠自学。自学能力对于计算机学习尤为重要,原因就是计算机发展奇快,掌握了自学方法,具备了自学能力,才能应付计算机日新月异的发展形势。学习电脑要勤动手 电脑这个学科实践性特强,不动手是学不会的。计算机从诞生那天起就被人蒙上了神秘...

我想自学英语,但是又不知道从何学起?
一、学习英语必须先学音标,保证发音的绝对正确,这是基础,现在我好多同学英语证书拿了不少,但是始终口语不好,后悔死了,就是基础没弄好。所以你可以去买国际标准音标的磁带来,里面一般配有小册子(即教材),先熟悉联系音标。48个国际音标表[i:] [i] [E:] [E] [O:] [O] [u:] [u] [...

本人对木工很感兴趣,但是零基础,想自学木工从何入手?
学好木工要有兴趣和坚持与吃苦,尤其是初哥,我十四岁开始自学“斗木”,我的经验是首学刨木(方条或木板)刨平刨直(不要太长太宽即可)而刨可分中长短(光刨)刨,又分1.2寸、1.6寸和2寸宽的刨,掌握了技巧和力度后,学磨刀装刀上刨。再后是学锯木方(开方)划线出笋凿笋口等的基本功,然后...

外语盲想学英语该从何入手
我觉得这完全可以根据一个人的兴趣爱好开始学。比如你喜欢音乐,就可以先听英文歌曲(先要慢歌);喜欢电视电影可以看国外的;关注时政的可以看原版的国际新闻;喜欢体育的其实多年年英文名也有帮助的。 当然单词先要认一些,音标可以慢慢学。 这是我的小小入门建议。经验之谈哦。o(∩_∩)o......

O基础学英语,要先学什么???
2. 准备好工具--复读机。3. 先练习单音,再练习字与句子,将发音困难的字列下来,反覆练习。4. 录下自己的发音,与录音带相比较。5,多背单词而背单词,要去积累。慢慢来。6,和英语文化人多沟通,提高口语。7,要有心理承受能力,要天天学点,不要贪多。8.平常学习英文歌曲,和看电影,并注意...

初学数据库应该从何学起?
初学数据库应该从以下几点进行学习:一、编程语言基础新手学大数据,首先要掌握基础的编程语言基础,比如Java、C++等,要初步掌握面向的对象、抽象类、接口及数据流及对象流等基础,如果有疑问,可以去网上搜索相关书籍,再结合自己的疑问去翻书,就能很快的熟悉了解数据库的基础技术原理。二、Linux系统的基本...

察哈尔右翼前旗18219355596: 如何从入门开始学习OpenCV -
桂查追风: OpenCV只是个lib,它既不是软件、也不是编程语言,所以我觉得从头到尾按照教程来看一遍可能会存在学习枯燥、无的放矢的局面. 最好的方法是带着问题去学,先从最简单的地方入手,比如调用OpenCV的GUI界面来调节一幅图像的灰度,...

察哈尔右翼前旗18219355596: 初学OpenCV,谁能给我点有用的建议! -
桂查追风: 其实,看你的需要吧,我 毕业设计一个月前才接触OPENCV,拿它做毕设,顺利过关.不过,坦白讲,今天为止,我仍然认为我是初学者. 如果你只是想学东西,那么,你可以边看边试试里面的那些命令,试着做1,2个题目. 如果你急着要用,那么,把前3章看一下啦,不需要全部都懂,有个大概的概念,然后,根据你需要做的东西有针对性的看,找资料,你会比较快上手. 另外最重要的一点,去试试,它的代码,而不要只是看.隔岸观火和身临其境毕竟不一样.等你开始试了,你会进一步了解,等你应用了,你又更深入了一步.总之,方法很多,看你需要,但是,程序的东西,一定要动手试的.加油!

察哈尔右翼前旗18219355596: 初学者怎么精通OPENCV啊?有什么推荐的书籍湖或者资料吗????? -
桂查追风: 首先推荐本教材:《学习OpenCV》,作者是布拉德斯基; 学的时候先看两三章,有点儿底子就去编代码,去做东西,然后将那本书当成字典,碰上不会的就去查,查不到就百度,就google,实践最重要,不要想着先看完书,都会了再去编程; 入门后就是多学多练了,这东西不难. 最好再从网上找份OpenCV的技术文档,随时查.

察哈尔右翼前旗18219355596: 新手学opencv怎么做 -
桂查追风: 《学习opencv》里有许多图像基础理论,外加函数讲解,虽然是opencv1,但是借鉴性很大,可以下载一个电子版的看看,因为主要的库函数几乎没变.《OpenCV3编程入门》这本书其实主要是讲opencv2,作者在主体上基于opencv2.4.9写的.建议楼主选个最实用的吧,opencv2(我现在用的是2.4.9).opencv2现有的学习资料最多,而且当前基于它的项目也最多.熟悉了它之后,无论退到opencv1,还是要用opencv3,都非常容易,基本不用花多余的功夫.

察哈尔右翼前旗18219355596: 如何自学opencv.本人具备c与c++基础,想自学opencv图像处理编程,但是不知道从何入门,会追加分数的 -
桂查追风: 我对OpenCV没什么了解,不过我认为你可以把SDK下载下来看看,里面一般都有说明文档,另外还有一些实例演示如何使用里面的API,另外可以看看有没有书籍作参考的.

察哈尔右翼前旗18219355596: 如何学习opencv源码 -
桂查追风: Opencv 是一个跨平台的计算机视觉库.可以运行在多个操作系统下面.如果想学习Opencv 编程的话,那么首先需要在自己电脑的相应操作系统平台上面安装 Opencv 软件,然后购买一本相应的教材、或者是同时从网上寻找其他资源进行学习编程.

察哈尔右翼前旗18219355596: 初学opencv库 应该如何下手
桂查追风: 看opencv.org.cn上的文档,机器学习是opencv的明珠,要有数学的基本功底理解,无他.

察哈尔右翼前旗18219355596: 几乎无C/C++基础的前提下,如何去学习OpenCV -
桂查追风: opencv需要的基础并不深,C语言C++自己看一些 简单的东西,就可以使用opencv

察哈尔右翼前旗18219355596: 关于OpenCV的学习方法问题 -
桂查追风: 我是一个opencv beginner,用了它大概几个月.我的意见是最主要的是你需要opencv来做什么事情.如果你着重应用,比如说你希望用opencv来做图像识别,你就直接用那部分tutorial的代码.在用...

察哈尔右翼前旗18219355596: 请教过来人如何学习数字图像处理和opencv -
桂查追风: 最重要的就是理论和实践并重.尽量对一些基础的图像处理操作,都自己用程序写一遍,跑一遍.尽量多试错.刚开始的时候犯错并改正就是最好的学习方式.有一些资料推荐你可以看看,首推毛星云的CSDN博客系列和他的书《opencv3编程入门》.如果英文比较好的话,官方教程也非常好.在国内改有很多opencv方面的教程和博客,多用搜索工具.最后说一句,还是要多动手去写程序.

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网