目录

一、前言

二、学习历程

三、学习资料

书籍

网站

视频教程

四、学习建议

入门

强化

灵通


一、前言

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

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

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

【openCV系列学习教程】

1.opencv配置:https://blog.csdn.net/shuiyixin/article/details/80386022

2.加载,修改,显示及保存图像:https://blog.csdn.net/shuiyixin/article/details/85240791

3.图像像素及掩膜操作详解:https://blog.csdn.net/shuiyixin/article/details/88825549

4.Mat对象:https://blog.csdn.net/shuiyixin/article/details/81169261

5.读写像素:https://blog.csdn.net/shuiyixin/article/details/89304084

6.图像混合:https://blog.csdn.net/shuiyixin/article/details/89343386

7.图像亮度与对比度:https://blog.csdn.net/shuiyixin/article/details/89390239

8.绘制形状与文字:https://blog.csdn.net/shuiyixin/article/details/89406889

9.线性滤波:https://blog.csdn.net/shuiyixin/article/details/90215677

10.非线性滤波:https://blog.csdn.net/shuiyixin/article/details/104345878

11.形态学基本操作:https://blog.csdn.net/shuiyixin/article/details/104354806

12.形态学操作:https://blog.csdn.net/shuiyixin/article/details/104369163

13.形态学操作之trackbar应用:https://blog.csdn.net/shuiyixin/article/details/104454474

14.上采样与降采样:https://blog.csdn.net/shuiyixin/article/details/104415952

15.基本阈值操作:https://blog.csdn.net/shuiyixin/article/details/104423534

16.卷积与自定义线性滤波:https://blog.csdn.net/shuiyixin/article/details/104438655

17.边缘处理:https://blog.csdn.net/shuiyixin/article/details/104454474

18.Sobel与Scharr算子:https://blog.csdn.net/shuiyixin/article/details/104484635

19.拉普拉斯算子:https://blog.csdn.net/shuiyixin/article/details/104510390

20.边缘检测与canny算子:https://blog.csdn.net/shuiyixin/article/details/104529465

21.霍夫直线变换:https://blog.csdn.net/shuiyixin/article/details/104541495

22.霍夫圆变换:https://blog.csdn.net/shuiyixin/article/details/79898107

23.像素重映射:https://blog.csdn.net/shuiyixin/article/details/79961040

24.直方图均衡化:https://blog.csdn.net/shuiyixin/article/details/80001756

25.直方图计算(calcHist):https://blog.csdn.net/shuiyixin/article/details/80032167

26.直方图比较(compareHist):https://blog.csdn.net/shuiyixin/article/details/80257822

27.直方图反向投影(calcBackProject):https://blog.csdn.net/shuiyixin/article/details/80331839

28.模板匹配(matchTemplate):https://blog.csdn.net/shuiyixin/article/details/104563199

29.轮廓发现(findContours、drawContours):https://blog.csdn.net/shuiyixin/article/details/104604849

30.凸包之Graham扫描法、Jarvis步进法:https://blog.csdn.net/shuiyixin/article/details/104625013

31.矩概念与图像矩:https://blog.csdn.net/shuiyixin/article/details/104646531

学习教程还在不断更新中,大家有什么问题,都可以随时和我一起交流。如果你想了解更多有关于计算机视觉、OpenCV、机器学习、深度学习等相关技术的内容,想与更多大佬一起沟通,那就加群326866692或者扫描下方二维码加入我们吧!

二、学习历程

大二

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

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

大三

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

大四

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

三、学习资料

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

书籍

《数字图像处理》

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

《OpenCV3 编程入门》

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

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

敲黑板:部分相关书籍电子版,如有需要,可以在QQ群 326866692 免费下载

网站

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,哪里不懂查哪里。

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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐