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