目录

​​一、前言​​

​​二、学习历程​​

​​三、学习资料​​

​​书籍​​

​​网站​​

​​视频教程​​

​​四、学习建议​​

​​入门​​

​​强化​​

​​灵通​​


一、前言

有人问我,学习opencv从哪里学起?有人问我,我学习opencv用到了哪些资料?所以在今天,我要先给大家分享一下我的opencv之路。

如果大家想了解更多内容,还可以关注我的微信公众号AI与区块链技术,学习更多技术:

OpenCV学习之路(附加资料分享)_官网

分享学习之路之前,先分享一套学习教程:

【openCV系列学习教程】

1.​​opencv配置

2.​​加载,修改,显示及保存图像

3.​​图像像素及掩膜操作详解

4.​​Mat对象

5.​​读写像素

6.​​图像混合

7.​​图像亮度与对比度

8.​​绘制形状与文字

9.​​线性滤波

10.​​非线性滤波

11.​​形态学基本操作

12.​​形态学操作

13.​​形态学操作之trackbar应用

14.​​上采样与降采样

15.​​基本阈值操作

16.​​卷积与自定义线性滤波

17.​​边缘处理

18.​​Sobel与Scharr算子

19.​​拉普拉斯算子

20.​​边缘检测与canny算子

21.​​霍夫直线变换

22.​​霍夫圆变换

23.​​像素重映射

24.​​直方图均衡化

25.​​直方图计算(calcHist)

26.​​直方图比较(compareHist)

27.​​直方图反向投影(calcBackProject)

28.​​模板匹配(matchTemplate)

29.​​轮廓发现(findContours、drawContours)

30.​​凸包之Graham扫描法、Jarvis步进法

31.​​矩概念与图像矩


二、学习历程

大二

大二的时候,当时想做一个手势识别的一个小程序。在学长的介绍下,接触了opencv。当时有一个老师给我了很多帮助,其中就包括opencv教程。在此,对詹胜老师、任东东学长、刘夺学长表达我的感谢。

于是我就购买了一本图像处理的经典教材:《数字图像处理》,作者是冈萨雷斯。购买了一本国内当时opencv最新的书籍:《opencv3 编程入门》,作者是毛星云。还看了贾志刚老师的视频教程:“opencv教程”。

大三

我学习新知识的速度不是很快,所以需要反复学,一遍一遍又一遍。然后就是敲代码,敲代码,敲代码。刚学习的时候,还没有写博客的意识。当时所有的笔记都写在笔记本上,后来多次调换宿舍,笔记本就找不到了。等到18年,开始学着写博客。当时正好参加软件杯大赛,就写了一些比较常用的博客。

大四

大四,最主要的是考研了,做的项目比较少,还有毕业论文要做,所以大四现在就是将自己学的知识多巩固巩固,再梳理一次,通过写博客,整理笔记,也跟大家一同分享相关知识。

三、学习资料

注:所有推荐大家购买的书籍,或者资料,仅仅代表个人观点,并非为别人打广告,希望大家能够作为参考,结合自己情况做决定。有任何问题,概不负责。

书籍

《数字图像处理》

如果你时间比较充足,想深入了解图像处理和计算机视觉,《数字图像处理》这本书是要好好学习一下的。但如果只是希望能够应用好opencv这个工具,这本书,选择购买,可以作为自己一本参考书来用。opencv中的很多图像处理的原理,在数字图像处理这本书中都能找到。

《OpenCV3 编程入门》

这本书出版的时候,opencv3刚刚问世不久,很多模块也相对比较完善。这本书就是按照opencv不同模块讲解的,如果你是基础学习,建议购买。但如果你对opencv已经很了解了,希望能够用它做些高级的东西,比如opencv的DNN模块,那就去官网吧。

其他书籍如《Learning OpenCV3》、《OpenCV2计算机视觉编程手册》、《Python计算机视觉编程》等,有很多就不一一列举啦,大家可以上网查找。


网站

1.​​OpenCV 官网​

OpenCV官网是最全面的了,毕竟是官网对吧,所有的消息,所有的OpenCV教程,讲解在这个网站上都能找到,唯一的要求就是英语要好,不然真的是看不懂啊。逼着自己学英语吧。

2.​​OpenCV论坛​

3.​​OpenCV中文网站​

4.​​W3CSchool 的 OpenCV教程​

三个中国人的OpenCV网站,有些东西更新没有官网快,如果基础入门,可以看一下,毕竟可以跳过英语这个坎。W3CSchool还是比较不错的。

5. ​​OpenCV.jp​

这是日语网站,如果学过日语的童鞋可以通过这个网站学习OpenCV。我没有看过这个,不做评价。

视频教程

我看过贾志刚老师的课程,偏向实战。其他课程,大家可以在CSDN学院里面查找。

四、学习建议

这里只针对初学者,如果你已经了解OpenCV,可以跳过。如果你有更好的学习建议,欢迎评论分享。

入门

入门最好的方式,个人感觉就是敲代码,不要纠结原理,不要纠结算法,安心做好 “调参攻城狮” 该干的活儿。弄明白函数功能,以及参数要求,能用API实现功能即可。要求看到一个API,知道它是干嘛的

这个阶段就是找一个自己喜欢的学习方式,看书或者看视频,或者找人讲解都可以,然后将学到的代码反复敲。

强化

强化需要的还是调参,这个时候跟入门就不同啦,对于常用及较常用的功能烂熟于心,能保证基本上不通过查询资料完成较多项目。要求能够灵活应用API。大多数人到这里即可。

这个阶段要求通过项目来强化自己。自己设计一个简单项目,或者上网找一个项目,自己尝试去实现,尽量不要查资料,先自己想,实在想不明白,去查相关API。

灵通

如果你希望能够再深入研究理论,或者希望能够维护OpenCV即了解每个API的数学原理是什么?API能不能优化?出现一个新功能,怎么写成API去让更多人使用,那就需要更深入的研究啦。

这个阶段要求弄懂原理,《数字图像处理》这本书要认真读一读啦,线性代数要好好学一学啦。打开API,哪里不懂查哪里。

今天的内容就分享到这里啦,有什么问题,大家可以在下面留言哦!