OpenCV 学习路线之帮助文档法(请对号入坑)

目录

 

从文档入手的原因

如何访问帮助文档

文档介绍

不同人的学习路线


文档入手的原因

阅读Opencv帮助文档是入门Opencv最简单、快捷和有效的方式,同样也是系统了解图像处理领域最常用和最基础算法的捷径。

如何访问帮助文档

1、官方在线版本的帮助文档访问:https://docs.opencv.org/4.5.2/index.html 

2、本地编译版本,需要用浏览器打开doc文件夹中的index.html,与在线版本的文档区别主要区别就是在线文档更全一些,自己编译与你自己选择的编译模块有关系;(如何本地编译带doc的opencv)详细见:https://blog.csdn.net/h649070/article/details/117841190 

文档介绍

先来个截图确保我们看的文档一样

下面从一级目录来数说每一部分都是什么:

1、Opencv主体功能介绍和主要特性

·Introduction:OpenCV库包括哪些核心模块,也就是MainModules中的内容,和一些特性,例如内存管理、异常处理方面的内容,一般初学者可以不看,直接使用,到实际应用的时候就要注意这些问题了。

2、不同接口类型的教程

根据自己使用的语言去找不同的语言接口使用方法,其实都是大同小异的,底层也都是C/C++程序的实现,如下三类:

·OpenCV Tutorials:C/C++接口的教程

·OpenCV-Python Tutorials:Pyhton接口的教程

·OpenCV.js Tutorials:.js接口的教程

如果使用了Opencv的Contrib模块那么教程就在这里:

·Tutorials for contrib modules:contrib模块学习教程,也就是因为某一些原因(例如开源协议)没有封装在Opencv主体模块中但是又开源常用的部分;

3、常用的问答和参考文献

可以有空的时候看一看,有一些经典的东西在这里,当开始探寻算法原理的时候,参考文献是非常有用的线索;

·Frequently Asked Questions

·Bibliography

4、OpenCV核心功能模块和Extra模块的介绍

是所有OpenCV涵盖的算法功能的总体,除了基础模块和Contrib模块之外,还有性能优化相关的CUDA模块等其它的模块;这部分的介绍是以C++接口为例的,但是在其它接口基本也能找到对应;

·Main modules:主功能模块

·Extra modules:contrib模块和性能优化等其它附加功能模块;

不同人的学习路线

不同人的学习路线,共有视觉处理基础、学习目的、学习时间安排、编程基础、是否使用过相关的编程语言和编程工具 几个维度,根据自己的维度来选择:

如果看完下面的维度有没提到的,可以留言,我会再加。

1、视觉处理基础

  • 无基础:建议学习什么是图像、什么是像素等基础术语和知识,可以看《数字图像处理》 冈萨雷斯第二版或者第三版,个人觉得第二版翻译的更好一些,看个人喜好;但是,书不用全部看完,看到涉及到讲具体算法的部分就对照Opencv里面的学,等学一段时间(起码要学滤波、图像变换、膨胀、腐蚀、开运算、闭运算等)对图像处理有一个初步认识了,就可以进入下一个阶段;
  • 有一定基础:可以从Main Modules模块开始学起,最好能对照教程跑出函数例子的结果,对于了解原理的,可以修改参数,看看修改参数之后是否与自己的预期结果一致;对于不了解原理的,可以看OpenCV的解释和参考文档,但是一般情况下,百度一下可以得到很明白的解释;Main Modules 模块学完了之后,可以去看Extra Modules选一些常用的函数进行学习;这时候算法原理有时候复杂了,可能不能全部明白,但是起码要达到一个知道算法适用于什么情况;
  • 基础好:同样的学习Main modules和Extra Modules,可以去浏览文档目录,对于一些简单处理方法,可以一带而过或者看一下函数使用方法和适用以及局限等;对于之前没了解过的可以着重了解;主要是建立和完善知识体系,在实际中得到自己的视觉处理方法论,遇到什么问题立刻想到用什么可以解决,把OpenCV当作一个工具快速实现自己的想法;
  • 大神:可以看看怎么优化OpenCV,贡献一些新的算法等,另外,求指导;

2、学习目的:

  • 了解视觉处理领域:看文档首页目录足以;
  • 视觉处理领域入门:根据自己的视觉处理基础选择方法,见1;
  • 视觉处理领域进阶:根据自己的视觉处理基础选择方法,见1;
  • 项目实战,例如毕业设计或者演示DEMO:如果选择了OpenCV作为主要的视觉实现包之一,请先分析问题,根据问题去查找基于OpenCV的应用中有没有相应的项目,如果有恭喜你可以借鉴一下;如果项目比较复杂,请仔细拆分问题,确定技术路线,然后再利用OpenCV中的方法来辅助解决;
  • 工作换钱,例如做不出来过不了实习、做不出来不给发奖金、做不出来不给钱:请一定一定一定不要全面依赖于Opencv,也不要想着把OpenCV学好了就能做个非常厉害的视觉算法人员,就能挣大钱,图像处理基础是人手必备的,坚持不懈的学习才是长久之计;真实的算法落地要比想象的难多了,甚至视觉算法只是整个项目的一个很小部分。

3、学习时间安排      

  • 零星时间学习:先要通过确定自己的学习路线和学习方向,然后把知识拆分成很小的比较独立的模块,每次学一个模块;最后别忘了去整合这些模块,形成体系;
  • 集中一段时间:通过确定自己的学习路线和学习方向;知识要系统,把相关的模块归类,从容易到难,利用时间集中的优势集中实践和学习,请一定要实践;最好能与自己真实的应用结合起来学习;
  • 本人的研究方向就是视觉:恭喜您,要与OpenCV做一辈子的好伙伴;时不时的可能要联系联系了;

4、编程基础

  • 没有:目前来看Pyhon入门更适合;
  • 入门:Python更适合,或者更熟悉的接口类型;
  • 熟练:随你用哪个接口都是应该的;

5、是否使用过相关的编程语言和编程工具

  • 没有使用过:根据要入门的语言选择最简单的一款,别在这里把自己卡住,也没有什么规则,你选择的就是最好的;
  • 使用过例如VSCode 、VSStudio、Eclipse、Matlab、Pycharm、Cmake、Vim:都可以与你趁手的工具联系起来,毕竟OpenCV是一个包,搬到哪里用到哪里;

 

最后,欢迎交流!与君共勉!

转载请联系作者!

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值