图像处理基础入门
前言2020年的春节,在她来到之前,我一直就认为她还是那个我特别熟悉,平平淡淡,却又充满温馨的日子,但因为新型冠状病毒的出现,让这个年过的变得很不平凡,本来一直在急着论文和项目的我也不得不安静待在家里浪费着生命却又感觉理所应当。拿起手机打开微博朋友圈,看着每天都在增长的数字和周围的人的不安,我心里也是一阵的烦躁,想要跟大家一样一起喊中国加油,武汉加油,但可能现在尽量平静的守好规矩,做好事,才是我们对国家,对政府最好的支持。思来想去,作为一个整天电脑相伴的码农来说,码字写点东西可能是我目前最能解闷的事啦!但由于我是个做技术的,所以还是想用写技术文章。扯了那么多,真正开始今天的主题,图像处理。确实这几年AI火了,计算机视觉技术(CV)也跟随着深度学习的浪潮走上了舞台中心,而作为CV的基础,图像处理的基础便是了我们走向“深渊”的第一步。我个人接触图像处理也算有几年的时间啦,虽然现在确实也是个菜鸟,但一个人摸索着往前走也总结到了一些微不足道的经验,现在跟大家分享一下。在我这篇文章中,我主要是大家介绍一下图像处理的基本的知识结构,简单来说,我就是想告诉大家,图像处理的基础你要学些什么。对于具体的知识点,我并没有细究,大家可以通过网课,书籍自行学习,一个是我个人确实也没有那么长的时间一一写清楚,另外一个原因是我感觉大家既然想学这个领域的东西,就一定要做好自学自专的准备,人有时候真的有点欠揍,往往自己辛苦找来的学来的东西,才会记的比较牢,学的比较透,废话有点点多啦!接下来正式开始。
图像处理需要掌握的基础知识
1.入门语言
对于图像处理领域,目前主流的编程语言是C++,matlab和python,对于C++,主要是使用由Intel建立的opencv视觉开源库,C++的特点就是语言方面比较灵活,很多算法可以自己根据原理实现,这样可以让大家比较深入的理解图像处理的基本算法原理,所以如果大家有一些C系列语言的编程基础,比较推荐大家使用C++进行图像处理基础算法的入门,主要的编程环境采用VS和opencv,网上有超级多的配置教程,我之前也写过一个配置脚本,大家有兴趣的可以去看一下。对于python,同样最常用的也是opencv视觉开源库,python的特点是封装比较好,上手比较块,另外python有丰富的机器学习的接口,我们在利用python学完图像处理之后,比较方便进入下一步机器学习的掌握,必要的编程环境还是比较推荐pycharm。对于matlab,众所周知,matlab在科学计算方向有着非常重要的地位,因为matlab确实也很方便,所以对非专业码农来说,比较容易掌握,因此如果是非计算机,自动化等电子专业的同志,想要直接进入图像处理领域,matlab不失为一个很好的切入点。当然既然是决定了要搞算法这个领域,那语言就不应该是我们前进的障碍,这里主要是给大家一个入门的建议,真正的最后我们要使用什么,掌握什么,还是跟着需求走。
2.图像处理基本算法
为了让大家更直观的了解图像算法基本内容,我做了一个简单的清单,如果大家想深入了解一下算法的执行原理,建议大家不用使用库函数,自己敲一下,肯定大有脾益,供大家参考:
图像的基本概念,了解基本的图像的组成,建议大家自己用纯代码写一下bmp文件的读取和保存的功能。
图像的灰度化操作,二值化操作。
图像的点操作,代数操作,逻辑操作。
图像直方图,直方图均衡化和规定化。
图像滤波,最起码需要掌握最基本的中值滤波,均值滤波,高斯滤波。
边缘检测,最起码需要掌握sobel算子,canny算子,拉普拉斯算子。
纹理特征,LBP算法。
颜色空间转换,熟悉最基本的RGB,HSV等颜色空间,并熟悉变换关系。
数学形态学,包括腐蚀,膨胀,开运算,闭运算。
图像基本的集合变换,包括放大,缩小,旋转等。
图像处理基础入门推荐视频
如果想深入学习图像处理的基础知识,我自己感觉一开始还是看一些视频比较好一些,很多概念我们可以通过视频比较轻易的知晓,但如果直接看书的话,接受起来就比较慢一些,我比较建议先通过一个基础的视频,大概了解一下这些领域的东西,然后再做仔细的探究,比较快一些。视频的话,我比较推荐的平台还是咱的民间技术学院--B站,里面有丰富的图像处理课程,因为众口难调,所以我就不给大家强烈推荐某位老师啦!大家根据自己的情况具体挑选便成,学习哪个只是个形式,学到东西才是王道。
图像处理基础入门书籍
对于图像处理的入门书籍,之前我才开始学的时候,好多人给我推荐冈萨雷斯的《数字图像处理》,但我真的看过之后,感觉并不是很推荐,因为这本书讲得还是比较系统,所以带来的问题便是很多概念不好理解,比较适合我们有一些基础之后再进行研读,如果大家是纯小白的情况,看这本书会让人更加迷茫一些。我建议可以先看一些基础的视频了解一些图像的基础概念之后再进行阅读学习。
对于进阶阶段,我强烈给大家推荐《图像处理、分析与机器视觉》这本书,因为之前在做项目的时候有些困惑,发现了这本书,读完感觉受益良多,另外这本书涉及的范围基本包含了图像处理的大部分领域,对于我们扩展视野非常有好处,强烈推荐。
总结
以上这些便是我对图像处理基础入门的一些基本的东西啦,可能大家发现,我并没有给大家推荐太多的资料,因为我感觉学习有个很大的敌人,就是好的资料太多太多,我自己就经常犯一种错误,就是永远找资料的路上,而不是在学资料的路上,所以需要大家也切忌这一点,找好适合自己的自学的路线,就一直走,切不可一直左顾右盼,因为这些纯属自己的经验和总结,可能不是很全面,如有什么错误,欢迎大家多多指教,也欢迎大家关注我的微信公众号,大家一起学习,一起提高。
写的很实在,特别好 谢谢谢谢 对我们小白来说,很实用了。对于索引超出矩阵维度,有没有好一点的解决办法。我都调试了两天了[捂脸][捂脸] 有没有什么推荐的比较基础的视频啊,刚入门还不太懂。 同问 您好,非常抱歉,我不咋看评论,才看到,我当时是看的韩春梅老师的课,虽然就是感觉有点教条化,但是对于图像的整体里还是不错的,不用太细致的看,就是为了理解图像这个东西,尽快的过一遍,然后再结合书本,我感觉就能很快的理解啦!我找了一个地址,仅供参考哈!地址:https://www.bilibili.com/video/BV1mt411Y7sX?p=1 您写的关于图像处理的入门写的非常好。不过,想请问下,如果是偏深度学习的图像处理,应该怎么学比较好 谢谢认可,我感觉如果偏深度学习的图像处理,也是先把这些作为基础,其实学起来很快的,大概了解这些之后,可以考虑学一点机器学习和深度学习的东西,我个人比较推荐吴恩达的网课。在看这种网课的同时,学一门Python的深度学习框架,我自己比较喜欢pytorch,这个我个人是看pytorch的官方文档学的,你也可以参考一下。学完这两个东西,我感觉可以去入手你专业的技术啦,边用边学。个人浅见,仅供参考 我也是,资料一大堆没看,永远都在找资料的路上[捂脸]
页:
[1]
2