目录
一、前言
有人问我,学习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 免费下载。
网站
OpenCV官网是最全面的了,毕竟是官网对吧,所有的消息,所有的OpenCV教程,讲解在这个网站上都能找到,唯一的要求就是英语要好,不然真的是看不懂啊。逼着自己学英语吧。
2.OpenCV论坛
三个中国人的OpenCV网站,有些东西更新没有官网快,如果基础入门,可以看一下,毕竟可以跳过英语这个坎。W3CSchool还是比较不错的。
5. OpenCV.jp
这是日语网站,如果学过日语的童鞋可以通过这个网站学习OpenCV。我没有看过这个,不做评价。
视频教程
我看过贾志刚老师的课程,偏向实战。其他课程,大家可以在CSDN学院里面查找。
四、学习建议
这里只针对初学者,如果你已经了解OpenCV,可以跳过。如果你有更好的学习建议,欢迎评论分享。
入门
入门最好的方式,个人感觉就是敲代码,不要纠结原理,不要纠结算法,安心做好 “调参攻城狮” 该干的活儿。弄明白函数功能,以及参数要求,能用API实现功能即可。要求看到一个API,知道它是干嘛的。
这个阶段就是找一个自己喜欢的学习方式,看书或者看视频,或者找人讲解都可以,然后将学到的代码反复敲。
强化
强化需要的还是调参,这个时候跟入门就不同啦,对于常用及较常用的功能烂熟于心,能保证基本上不通过查询资料完成较多项目。要求能够灵活应用API。大多数人到这里即可。
这个阶段要求通过项目来强化自己。自己设计一个简单项目,或者上网找一个项目,自己尝试去实现,尽量不要查资料,先自己想,实在想不明白,去查相关API。
灵通
如果你希望能够再深入研究理论,或者希望能够维护OpenCV即了解每个API的数学原理是什么?API能不能优化?出现一个新功能,怎么写成API去让更多人使用,那就需要更深入的研究啦。
这个阶段要求弄懂原理,《数字图像处理》这本书要认真读一读啦,线性代数要好好学一学啦。打开API,哪里不懂查哪里。
今天的内容就分享到这里啦,有什么问题,大家可以在下面留言哦!