matlab对于处理数字图像的优点,学习MATLAB数字图像处理经验谈
學(xué)習(xí)MATLAB數(shù)字圖像處理經(jīng)驗談
學(xué)習(xí)數(shù)字圖像處理經(jīng)驗談 (趙小川) 一、面向應(yīng)用:層層分解、抓住要點 我們學(xué)習(xí)數(shù)字圖像處理的最終目的還是應(yīng)用,不管是用它來研制產(chǎn)品還是研發(fā)項目抑或是研究課題,都要用數(shù)字圖像處理的理論、方法和技術(shù)來解決實際問題。在此過程中,提高效率是非常重要的,因此,我們在實際應(yīng)用過程中要面向需求,結(jié)合實際;將問題層層分解,理清解決思路;抓住其要害,集中力量進行突破,切忌眉毛胡子一把抓。 下面就結(jié)合筆者所研究過的一個課題進行詳細(xì)說明。 任務(wù)要求:一臺智能移動機器人上配備有單目可見光視覺傳感器,要求通過該視覺傳感器采集的視頻序列圖像,實現(xiàn)在復(fù)雜環(huán)境下實現(xiàn)對紋理清晰的特定目標(biāo)的實時跟蹤。 (注:該問題的解決應(yīng)從硬件和軟件兩個方面進行考慮,對硬件的選擇、設(shè)計和搭建超出了本文所討論的內(nèi)容,因此,本文僅從數(shù)字圖像處理方法的角度進行分析) 分析討論: (1)任務(wù)分解:通過對任務(wù)要求進行分析可知,該任務(wù)的核心是“目標(biāo)識別跟蹤”;在此基礎(chǔ)上有兩個約束條件:“復(fù)雜環(huán)境下”和“實時性”;方法實現(xiàn)的平臺是“移動機器人”。任務(wù)的核心——“目標(biāo)識別跟蹤”是我們所需要解決的難點和重點;約束條件1“復(fù)雜環(huán)境下”則要求我們對所采集的圖像進行去噪預(yù)處理;約束條件2“實時性”也是需要解決的問題,這就要求我們盡可能地降低各種算法的運算復(fù)雜度;由于實現(xiàn)平臺“移動機器人”在行進過程中采集的視頻圖像存在抖動現(xiàn)象,因此,在對采集的圖像進行去噪后需要對其進行增穩(wěn)處理。通過初步分解,我們就得到了任務(wù)中所要解決的問題以及大致流程(如圖1所示)。 圖1 任務(wù)分解及流程 (2)難點分解:本任務(wù)的難點是“目標(biāo)識別跟蹤”。之所以稱其為難點,是對目標(biāo)的識別和跟蹤過程中,存在視覺傳感器與目標(biāo)物體的相對運動,因而,目標(biāo)在圖像中存在著尺度變化、旋轉(zhuǎn)變化、視角變化、照度變化以及局部遮擋,這給目標(biāo)識別和跟蹤帶來了挑戰(zhàn)。我們常用的目標(biāo)識別與跟蹤算法有:基于幀間差分的目標(biāo)識別與跟蹤法、基于光流的目標(biāo)識別與跟蹤法、基于模板匹配的目標(biāo)識別與跟蹤法、基于顏色的目標(biāo)識別與跟蹤法、基于特征點的目標(biāo)識別與跟蹤法??紤]到每種方法的特點以及待跟蹤目標(biāo)具有清晰的紋理,我們可以采用基于特征點的目標(biāo)識別與跟蹤法,更進一步地說,我們應(yīng)采用尺度不變特征點(SIFT)作為識別與跟蹤的特征,因為尺度不變特征點對尺度變化、旋轉(zhuǎn)變換、視角變化、照度變化和局部遮擋具有魯棒性。同時,我們希望目標(biāo)識別和跟蹤算法具有良好的實時性,因而,可以考慮PCA-SIFT和SURF特征點作為目標(biāo)特征。此外,由于視頻序列相鄰圖像之間存在相關(guān)性,目標(biāo)在相鄰幀之間不會有劇烈的變換,因而,可采用隔幀搜索法對目標(biāo)進行檢測并用Kalman濾波或粒子濾波對目標(biāo)的軌跡進行預(yù)測。難點分解的過程如圖2所示。 圖2 難點分解過程 (3)算法分解:經(jīng)過任務(wù)分解和難點分解后,我們已經(jīng)對任務(wù)的實現(xiàn)步驟和每個步驟所需的算法有了一個清晰的了解。在此之后,我們還需對每一個具體的算法進行分解,形成實現(xiàn)步驟,以便于后續(xù)的研究以及模塊化分工實現(xiàn)。 二、面向?qū)W習(xí):追根溯源、比較總結(jié) 在數(shù)字圖像處理中,很多算法是一脈相承或有著密切聯(lián)系的,搞清楚這些來龍去脈以及相互聯(lián)系,有利于我們加強對算法的理解以及改進創(chuàng)新。 那么,如何把握這些聯(lián)系呢?我認(rèn)為,首先得清楚每種算法的提出背景,也就是“這種算法為什么會被提出”或是“這種算法是針對什么問題而提出的”。就拿數(shù)字圖像變換中的內(nèi)容為例,我們是從圖像的空間變換講起的,但是空間變換無法反映圖像的頻率分布信息,隨著傅里葉變換的誕生,這一問題得到了解決,傅里葉變換也被研究者譽為是“圖像處理的第二種語言”。正在人們?yōu)橹畾g心鼓舞之時,研究者有發(fā)現(xiàn)傅里葉變換也存在著不足,它在空域上無任何分辨,不能作局部分析。針對于此,D.Gabor 于1946年提出了加窗傅里葉變換,也就是著名的Gabor變換,它通過引入一個時間局部化“窗函數(shù)”改進了傅里葉變換的不足,但其窗口大小和形狀都是固定的,沒有從根本上彌補傅里葉變換的缺陷。小波變換的提出從根本上解決了這一難題,它有一個靈活可變的時間—頻率窗,能有效地從信號中提取信息,通過伸縮和平移等運算功能對函數(shù)或信號進行多尺度細(xì)化分析,“數(shù)學(xué)顯微鏡”的美譽也因此得來。如果我們能夠把這些聯(lián)系梳理清楚,那么,我們在學(xué)習(xí)小波變換時就會豁然開朗,游刃有余。難道小波變換就那么完美嗎?答案當(dāng)然是否定的,當(dāng)前有很多算法就如何提高小波變換的效能提出了改進。按照上述的“聯(lián)系”方式,就不難建立起完備的知識體系。 圖3 圖像分析聯(lián)系示意圖 談過了“追根溯源”,我們再來聊聊“比較總結(jié)”。我們以圖像的邊緣檢測為例來進行說明。每一種方法都能實現(xiàn)邊緣檢測,但對于同一幅圖像,每一種邊緣檢測方法的效果又不盡相同。這是為什么呢?原來,每一種邊緣檢測的方法都有自己優(yōu)點和不足,都有自己特定的應(yīng)用背景。我們不妨對其進行列表比較(如表1所示)。 表1 邊緣檢測算子比較 名 稱 特 點 基于一階微分算子檢測邊緣 運算簡單,但對噪聲敏感 基于LOG算子檢測邊緣 邊緣保留較為完整、定位準(zhǔn)確、抗干擾能力強 基于 Canny算子檢測邊緣 抗干擾能力強,邊緣連續(xù)性好 基于SUSAN算子檢測邊緣 抗噪聲能力好、運算量小,速度快 對各種邊緣檢測算子進行比較后,它們各自的特點便一目了然,在何種情況下運用哪種邊緣檢測算子效果最佳便做到了心中有數(shù)。 在比較完各種邊緣檢測算子的“個性”之后,我們不妨再來總結(jié)一下它們的“共性”。盡管邊緣檢測的方法林林總總,但各種方法的共同目的就是要檢測出圖像灰度變化劇烈的區(qū)域。從數(shù)學(xué)的角度來看,就是對數(shù)字圖像進行差分;從信號處理角度看,就是用高通濾波器來保留高頻信號。 學(xué)習(xí)的過程講究循序漸進,溫故知新,當(dāng)然,對數(shù)字圖像處理技術(shù)的學(xué)習(xí)也不例外。但是,數(shù)字圖像處理技術(shù)又有自身的特點:理論深、角度廣、更新快,因此,良好的學(xué)習(xí)方法可以使數(shù)字圖像處理的學(xué)習(xí)事半功倍。在學(xué)習(xí)數(shù)字圖像處理技術(shù)時,讀者不妨嘗試著去追根溯源、比較總結(jié),相信定會受益匪淺。
總結(jié)
以上是生活随笔為你收集整理的matlab对于处理数字图像的优点,学习MATLAB数字图像处理经验谈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5g局域网传输速度_5G时代网络传输速度
- 下一篇: 数字图像matlab边缘检测(一)