图像处理大神

http://blog.csdn.net/baimafujinji?viewmode=contents算法

    

如何学好图像处理——从小白到大神?                         

什么是数字图像处理?历史、以及它所研究的内容。编程

 

提及图像处理,你会想到什么?你是否真的了解这个领域所研究的内容。纵向来讲,数字图像处理研究的历史至关悠久;横向来讲,数字图像处理研究的话题至关普遍。安全

 

数字图像处理的历史能够追溯到近百年之前,大约在1920年的时候,图像首次经过海底电缆从英国伦敦传送到美国纽约。图像处理的首次应用是为了改善伦敦和纽约之间海底电缆发送的图片质量,那时就应用了图像编码,被编码后的图像经过海底电缆传送至目的地,再经过特殊设备进行输出。这是一次历史性的进步,传送一幅图片的时间从原来的一个多星期减小到了3小时。网络

 

1950年,美国的麻省理工学院制造出了第一台配有图形显示器的电子计算机——旋风I号(Whirlwind I)。旋风I号的显示器使用一个相似于示波器的阴极射线管(Cathode Ray Tube,CRT)来显示一些简单的图形。1958年美国Calcomp公司研制出了滚筒式绘图仪,GerBer公司把数控机床发展成为平板式绘图仪。在这一时期,电子计算机都主要应用于科学计算,而为这些计算机配置的图形设备也仅仅是做为一种简单的输出设备。数据结构

 

随着计算机技术的进步,数字图像处理技术也获得了很大的发展。1962年,当时还在麻省理工学院攻读博士学位的伊凡·苏泽兰(Ivan Sutherland)成功开发了具备划时代意义的“画板”(Sketchpad)程式。而这正是有史以来第一个交互式绘图系统,同时这也是交互式电脑绘图的开端。今后计算机和图形图像被更加紧密地联系到了一块儿。鉴于伊凡·苏泽兰为计算机图形学创立所作出的杰出贡献,他于1988年被授予计算机领域最高奖——图灵奖。机器学习

1964年,美国加利福尼亚的喷气推动实验室用计算机对“旅行者七号”太空船发回的大批月球照片进行处理,以校订航天器上摄影机中各类类型的图像畸变,收到了明显的效果。在后来的宇航空间技术中,数字图像处理技术都发挥了巨大的做用。函数

到了20世纪60年代末期,数字图像处理已经造成了比较完善的学科体系,这套理论在20世纪70年代发展得十分迅速,并开始应用于医学影像和天文学等领域。1972年,美国物理学家阿伦·马克利奥德·柯麦科(Allan MacLeodCormack)和英国电机工程师戈弗雷·纽博尔德·豪恩斯弗尔德(Godfrey Newbold Housfield)发明了轴向断层术,并将其用于头颅诊断。世界第一台X射线计算机轴向断层摄影装置由EMI公司研制成功,这也就是人们一般所说的CT(Computer Tomograph)。CT可经过一些算法用感知到的数据去重建经过物体的“切片”图像。这些图像组成了物体内部的再现图像,也就是根据人的头部截面的投影,经计算机处理来进行图像重建。鉴于CT对于医学诊断技术的发展所起到的巨大推进做用,柯麦科和豪恩斯弗尔德于1979年得到了诺贝尔生理或医学奖。工具

随后在2003年,诺贝尔生理或医学奖的殊荣再次授予了两位在医疗影像设备研究方面作出杰出贡献的科学家——美国化学家保罗·劳特伯尔(Paul Lauterbur)和英国物理学家彼得·曼斯菲尔(Peter Mansfield)。两位获奖者在利用磁共振成像(Magnetic Resonance Imaging,MRI)显示不一样结构方面分别取得了开创性成就。瑞典卡罗林斯卡医学院称,这两位科学家在MRI领域的开创性工做,表明了医学诊疗和研究的重大突破。而事实上,核磁共振的成功一样也离不开数字图像处理方面的发展。即便在今天,诸如MRI图像降噪等问题依然是数字图像处理领域的热门研究方向。学习

说到数字图像的发展历程,还有一项相当重要的成果不得不提,那就是电荷耦合元件(Charge-coupled Device,CCD)。CCD最初是由美国贝尔实验室的科学家维拉德·波义耳(Willard Sterling Boyle)和乔治·史密斯(George Elwood Smith)于1969年发明的。CCD的做用就像胶片同样,它可以把光学影像转化为数字信号。今天人们所普遍使用的数码照相机、数码摄影机和扫描仪都是以CCD为基础发展而来的。换句话说,咱们如今所研究的数字图像主要也都是经过CCD设备获取的。因为波义耳和史密斯在CCD研发上所作出的巨大贡献,他们两人共同荣获了2009年度的诺贝尔物理学奖。编码

 

数字图像处理在今天是很是热门的技术之一,生活中无处不存在着它的影子,能够说它是一种每时每刻都在改变着人类生活的技术。但长久以来,不少人对数字图像处理存在着较大的曲解,人们老是不自觉地将图像处理和Photoshop联系在一块儿。大名鼎鼎的Photoshop无疑是当前使用最为普遍的图像处理工具。相似的软件还有Corel公司生产的CorelDRAW等软件。

 

尽管Photoshop是一款很是优秀的图像处理软件,但它的存在并不表明数字图像处理的所有理论与方法。它所具备的功能仅仅是数字图像处理中的一部分。总的来讲,数字图像处理研究的内容主要包括以下几个方面:

  • 1)图像获取和输出
  • 2)图像编码和压缩
  • 3)图像加强与复原
  • 4)图像的频域变换
  • 5)图像的信息安全
  • 6)图像的区域分割
  • 7)图像目标的识别
  • 8)图像的几何变换

 

 

 

但图像处理的研究内容,又不只限于上述内容!因此说图像处理的研究话题是至关宽泛的。那如今图像处理都应用在哪些领域呢?或许咱们可能熟知的例子有(固然,你应该还能举出更多例子):

  • 1)一些专业图像处理软件:Photoshop、CorelDRAW……
  • 2)一些手机APP应用:美图秀秀、玩图……
  • 3)一些医学图像处理应用:MRI、彩超图像处理……
  • 4)一些制造业上的应用:元器件检测、瑕疵检测……
  • 5)一些摄像头、相机上的应用:夜间照片的质量改善……
  • 6)一些电影工业上是应用:换背景、电影特技……

 

什么样的人会去学(或者须要学)图像处理?

 

1)若是你是我上述那些应用领域的从业者,你固然须要掌握图像方面的理论和技术;2)相关专业的研究人员、大专院校的博士生、研究生。

所谓相关专业又是指什么呢?这个答案也可能至关宽泛,例如(但不只限于此):Computer Science, Software Engineering, Electronic Engineering, Biomedical Engineering, Automation, Control, Applied Mathematics……

 

如何学好图像处理——个人一些箴言

 

1)对于初级入门者

 

一个扎实的基础和对于图像处理理论的完整的、系统的总体认识对于后续的深刻研究和实践应用具备很是很是重要的意义。

我常常喜欢拿武侠小说《天龙八部》中的一段情节来向读者说明此中的道理,相信读者对这部曾经被屡次搬上银幕的金庸做品已经耳熟能详了。书中讲到有个名叫鸠摩智的番僧一心想练就绝世武学,并且他也算是个至关勤奋的人了。可是,他错就错在太过于急功近利,甚至使用道家的小无相功来催动少林绝技。看上去威力无比,并且能够在短期内“速成”,但实则后患无穷。最终鸠摩智走火入魔,前功尽废,方才大彻大悟。这个故事其实就告诉咱们打牢基础是很是重要的,特别是要取得更长足的发展,就更是要对基本原理刨根问底,力求甚解,从而作到庖丁解牛,游刃有余。

一些看似高深的算法每每是许多基础算法的组合提高。例如,令不少人望而却步的SIFT特征构建过程当中,就用到了图像金字塔、直方图、高斯滤波这些很是很是基础的内容。可是,它所涉及的基础技术显然有好几个,若是缺少对图像处理理论的系统认识,你可能会感受事倍功半。由于全部的地方好像都是沟沟坎坎。

关于课程——

在这个阶段其实对于数学的要求并不高,你甚至能够从一些感性的角度去形象化的理解图像处理中不少内容(但不包括频域处理方面的内容)。具体到学习的建议,若是有条件(例如你还在高校里读书)你最好能选一门图像处理方面的课程,系统地完整的地去学习一下。这显然是入门的最好办法。如此一来,在创建一个完整的、系统的认知上至关有帮助。若是你没办法在学校里上一门这样的课,网上的一些公开课也能够试试。但如今中文MOOC上尚未这方面的优质课程推荐。英文的课程则有不少,例如美国加州伦斯勒理工学院Rich教授的数字图像处理公开课——https://www.youtube.com/channel/UCaiJlKxXamoODQtlx486qJA?spfreload=10。

关于教材——

显然,只听课其实还不太够,若是能一并读一本书就最好了。其实不用参考不少书,只要一本,你能从头读到尾就很好了。若是你没有条件去上一门课,那读一原本完整的自学一下就更有必要了。这个阶段,去网上处处找博客、看帖子是不行的。由于你特别须要在这个阶段对这门学问创建一个系统的完整的知识体系。东一块、西一块的胡拼乱凑无疑是坑你本身,你的知识体系就像一个气泡,可能看起来很大,可是又脆弱的不堪一击。

如今不少学校采用冈萨雷斯的《数字图像处理》一书做为教材。这是一本很是很是经典的著做。可是我必需要提醒读者:

1)这是一本专门为Electronic Engineering专业学生所写的书。它须要有信号与系统、数字信号处理这两门课做为基础。若是你没有这两门课的基础,你读这本书要么是看热闹,要么就是看不懂。

下面是冈书中的一张插图。对于EE的学生来讲,这固然不是问题。可是若是没有我说的那两门课的基础,其实你很难把握其中的精髓。H和h,一个大小一个小写,冈书中有的地方用H,有的地方用h,这都是有很深入用意的。原做者并无特别说明它们两者的区别,由于他已经默认你应该知道两者是不一样的。事实上,它们一个表示频域信号,一个表示时域信号,这也致使有时候运算是卷积,有时候运算是乘法(固然这跟卷积定理有关)。因此我并不太建议那些没有这方面基础的学生在自学的时候读这本书。

 

2)冈萨雷斯教授的《数字图像处理》初版是在1977年出版的,到如今已经快40年了;如今国内普遍使用的第二版是2002年出版的(第三版是2007年可是其实两者差别并不大),到如今也有20年左右的时间了。事实上,冈萨雷斯教授退休也有快30年了。因此这本书的内容已经偏于陈旧。数字图像处理这个领域的发展绝对是突飞猛进,日新月异的。特别在最近二三十年里,不少新思路,新方法不断涌现。若是你看了我前面推荐的Rich教授的公开课(这也是当前美国大学正在教学的内容),你一会儿就会发现,原来咱们的教育还停留在改革开放以前外国的水平上。这其实特别可怕。因此我以为冈萨雷斯教授的《数字图像处理》做为学习过程当中的一个补充仍是不错的,可是若是把它做为主参考,那真的就是:国外都洋枪洋炮了,咱们还在大刀长矛。

 

2)对于中级水平者

 

纸上得来终觉浅,绝知此事要躬行。对于一个具备必定基础的,想更进一步的中级水平的人来讲,这个阶段最重要的就是加强动手实践的能力。

仍是说《天龙八部》里面的一个角色——口述武功、叹为观止的王语嫣。王语嫣的脑壳里都是武功秘籍,但问题是她历来都没练过一招一式。结果是,然并卵。因此光说不练确定不灵啊。特别是,若是你未来想从事这个行业,结果一点代码都不会写,那几乎是不可想象的。学习阶段,最常被用来进行算法开发的工具是Matlab和OpenCV。你能够把这两个东西都理解为一个至关完善的库。固然,在工业中C++用得更多,因此Matlab的应用仍是颇有限的。前面咱们讲到,图像处理研究内容其实包括:图像的获取和编解码,但使用Matlab和OpenCV就会掩盖这部份内容的细节。你固然永远不会知道,JPEG文件究竟是如何被解码的。

若是你的应用永远都不会涉及这些话题,那么你一直用Matlab和OpenCV固然无所谓。例如你的研究领域是SIFT、SURF这种特征匹配,能够没必要理会编解码方面的内容。可是若是你的研究话题是降噪或者压缩,可能你就绕不开这些内容。最开始学的时候,若是能把这部份内容也本身写写,可能会加深你的理解。之后作高级应用开发时,再调用那些库。因此具体用什么,要不要本身写,是要视你所处的阶段和本身的实际状况而定的。以我我的的经验,在我自学的时候,我就动手写了Magic House,我以为这个过程为我奠基了一个很是夯实的基础,对于我后续的深刻研究颇有帮助。

 

下面这个文中,我给出了一些这方面的资源,代码多多,很值得参考学习:图像处理与机器视觉网络资源收罗                  

http://blog.csdn.net/baimafujinji/article/details/32332079

 

3)对于高级进阶者

 

到了这个程度的读者,编程实现之类的基本功应该不在话下。可是要往深,往高去学习、研究和开发图像处理应用,你最须要的内容就变成了数学。这个是拦在不少处于这个阶段的人面前的一大难题。若是你的专业是应用数学,固然你不会感受有问题。但若是是其余专业背景的人就会愈加感受痛苦。

若是你的图像处理是不涉及机器学习内容的,例如用Poisson方程来作图像融合,那你就要有PDE数值解方面的知识;若是你要研究KAZE特征,你就必需要知道AOS方面的内容。若是你研究TV降噪,你又要知道泛函分析中的BV空间内容……这些词你可能不少都没听过。总的来讲,这块须要的内容包括:复变函数、泛函分析、偏微分方程、变分法、数学物理方法……

若是你要涉足机器视觉方法的内容,一些机器学习和数据挖掘方法的内容就不可或缺。而这部份内容一样须要很强大的数学基础,例如最大似然方法、梯度降低法、欧拉-拉格朗日方程、最小二乘估计、凸函数与詹森不等式……

固然,走到这一步,你也已经脱胎换骨,从小白到大神啦!路漫漫其修远兮,吾将上下而求索。

 

(全文完)

相关文章
相关标签/搜索