《数字图像处理与机器视觉——Visual C++与Matlab实现(第2版)》——1.2 数字图像处理与机器视觉...
本節書摘來自異步社區出版社《Visual C++ 2012 開發權威指南》一書中的第1章,第1.2節,作者: 張錚 , 徐超 , 任淑霞 , 韓海玲,更多章節內容可以訪問云棲社區“異步社區”公眾號查看。
1.2 數字圖像處理與機器視覺
數字圖像處理與機器視覺——Visual C++與Matlab實現(第2版)
1.2.1 從圖像處理到圖像識別
圖像處理、圖像分析和圖像識別是認知科學與計算機科學中的一個令人興奮的活躍分支。從1970年這個領域經歷了人們對其興趣的爆炸性增長以來,到20世紀末逐漸步入成熟。其中遙感、技術診斷、智能車自主導航、醫學平面和立體成像以及自動監視領域是發展最快的一些方向。這種進展最集中地體現在市場上多種應用這類技術的產品的紛紛涌現。事實上,從數字圖像處理到數字圖像分析,再發展到最前沿的圖像識別技術,其核心都是對數字圖像中所含有的信息的提取及與其相關的各種輔助過程。
1.數字圖像處理
數字圖像處理(Digital Image Processing)就是指使用電子計算機對量化的數字圖像進行處理,具體地說就是通過對圖像進行各種加工來改善圖像的外觀,是對圖像的修改和增強。
圖像處理的輸入是從傳感器或其他來源獲取的原始的數字圖像,輸出是經過處理后的輸出圖像。處理的目的可能是使輸出圖像具有更好的效果,以便于人的觀察;也可能是為圖像分析和識別做準備,此時的圖像處理是作為一種預處理步驟,輸出圖像將進一步供其他圖像進行分析、識別算法。
2.數字圖像分析
數字圖像分析(Digital Image Analyzing)是指對圖像中感興趣的目標進行檢測和測量,以獲得客觀的信息。數字圖像分析通常是指將一幅圖像轉化為另一種非圖像的抽象形式,例如圖像中某物體與測量者的距離、目標對象的計數或其尺寸等。這一概念的外延包括邊緣檢測和圖像分割、特征提取以及幾何測量與計數等。
圖像分析的輸入是經過處理的數字圖像,其輸出通常不再是數字圖像,而是一系列與目標相關的圖像特征(目標的描述),如目標的長度、顏色、曲率和個數等。
3.數字圖像識別
數字圖像識別(Digital Image Recognition)主要是研究圖像中各目標的性質和相互關系,識別出目標對象的類別,從而理解圖像的含義。這往往囊括了使用數字圖像處理技術的很多應用項目,例如光學字符識別(OCR)、產品質量檢驗、人臉識別、自動駕駛、醫學圖像和地貌圖像的自動判讀理解等。
圖像識別是圖像分析的延伸,它根據從圖像分析中得到的相關描述(特征)對目標進行歸類,輸出使用者感興趣的目標類別標號信息(符號)。
總而言之,從圖像處理到圖像分析再到圖像識別這個過程,是一個將所含信息抽象化,嘗試降低信息熵,提煉有效數據的過程,如圖0.5所示。
從信息論的角度上說,圖像應當是物體所含信息的一個概括,而數字圖像處理側重于將這些概括的信息進行變換,例如升高或降低熵值,數字圖像分析則是將這些信息抽取出來以供其他過程調用。當然,在不太嚴格時,數字圖像處理也可以兼指圖像處理和分析。
圖0.5 數字圖像處理、分析和識別的關系
讀者或許也聽過另一個概念,計算機圖形學(Computer Graphics)。此概念與數字圖像分析大致相反,它是一個對由概念或數學表述的物體圖像進行處理和顯示的過程。
1.2.2 什么是機器視覺
機器視覺(Machine Vision),又稱計算機視覺(Computer Vision)。它是將數字圖像處理和數字圖像分析、圖像識別結合起來,試圖開發出一種能與人腦的部分機能比擬,能夠理解自然景物和環境的系統,在機器人領域中為機器人提供類似人類視覺的功能。計算機視覺是數字成像領域的尖端方向,具有最綜合的內容和最廣泛的涵蓋面。
提示 后文中,如無特別說明,文章通常使用廣義的圖像處理概念,即用數字圖像處理這個詞涵蓋上文所提到的圖像處理和數字圖像分析;而對于圖像識別和機器視覺的概念常常不加區分,盡管嚴格地說識別只對應于高級視覺的范疇。
1.2.3 數字圖像處理和識別的應用實例
如今,數字圖像處理與機器視覺的應用越來越廣泛,已經滲透到國家安全、航空航天、工業控制、醫療保健等各個領域乃至人們的日常生活和娛樂當中,在國民經濟中發揮著舉足輕重的作用。
一些典型的應用如表0.2所示。
下面結合兩個典型的應用來說明。
1.圖像處理的典型案例——X光照片的增強
圖0.6中的兩幅圖片,圖0.6(a)是一幅直接拍攝未經處理的X光照片,對比度較低,圖像細節難以辨識;圖0.6(b)中呈現了圖0.6(a)經過簡單的增強處理后的效果,圖像較為清晰,可以有效地指導診斷和治療。從中讀者應該可以看出圖像處理技術在輔助醫學成像上的重要作用。
圖0.6 圖像處理前后的效果對比
2.圖像識別的典型案例——ALVINN汽車自動駕駛系統
著名的自動駕駛系統ALVINN是人工神經網絡(關于人工神經網絡的介紹詳見第15章)的一個典型的應用。該系統使用一個經過訓練的神經網絡以正常速度在高速公路上駕駛汽車。如圖0.7(b)所示,ALVINN具有一個典型的3層結構,網絡的輸入層共有30×32個單元,對應于一個30×32的像素點陣,是由一個安裝在車輛上的前向攝像機獲取的圖像經過重采樣得到的。輸出層共有30個單元,輸出情況指出了車輛行進的方向。
在訓練階段,ALVINN以人類駕駛時攝像機所捕獲的前方交通狀況作為輸入,以人類通過操作方向盤給出的前進方向作為目標輸出,整個訓練過程大約5分鐘;在測試階段,ALVINN用學習到的網絡在高速公路上以的時速成功地駕駛了。
注 (a)為車內的攝像頭和前方的實際情況;(b)為ALVINN的網絡結構,攝像頭捕獲圖像的30×32的重采樣圖像被作為網絡的輸入,對應于960個輸入層單元,這些輸入又連接至4個隱藏單元,再連接到30個輸出單元,輸出為一個30維向量,相當于把整個方向盤的控制范圍分成30份,每個輸出單元對應一個特定的駕駛方向,決策結果為輸出值最大的單元對應的行駛方向
總結
以上是生活随笔為你收集整理的《数字图像处理与机器视觉——Visual C++与Matlab实现(第2版)》——1.2 数字图像处理与机器视觉...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Indicator Weather 13
- 下一篇: 《C和C++代码精粹》——1.8 标准流