圖像處理大神

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空間內容……這些詞你可能不少都沒聽過。總的來講,這塊須要的內容包括:複變函數、泛函分析、偏微分方程、變分法、數學物理方法……

若是你要涉足機器視覺方法的內容,一些機器學習和數據挖掘方法的內容就不可或缺。而這部份內容一樣須要很強大的數學基礎,例如最大似然方法、梯度降低法、歐拉-拉格朗日方程、最小二乘估計、凸函數與詹森不等式……

固然,走到這一步,你也已經脫胎換骨,從小白到大神啦!路漫漫其修遠兮,吾將上下而求索。

 

(全文完)

相關文章
相關標籤/搜索