




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章圖像分割及測量
本章要點:
圖像閾值分割
目標物體的輪廓提取
模板匹配
圖像的測量7.1概述數字圖像處理的目的之一是圖像識別,圖像分割與測量是圖像識別工作的基礎。圖像分割將圖像分為一些有意義的區域,然后可以對這些區域進行描述,相當于提取出某些目標區域圖像的特征,判斷圖像中是否有感興趣的目標。圖像分割的基礎是像素間的相似性和跳變性。
邊緣檢測能較成功的檢測出圖像真正的邊緣。
在邊緣檢測之后,找出目標物體的輪廓,進行目標物體的分析、識別、測量等。這些內容在數字圖像處理應用中,如跟蹤、制導等方面扮演重要角色,有著廣泛的用途。
7.2圖像閾值分割
閾值處理是一種區域分割技術,將灰度根據主觀愿望分成兩個或多個等間隔或不等間隔灰度區間,它主要是利用圖像中要提取的目標物體和背景在灰度上的差異,選擇一個合適的閾值,通過判斷圖像中的每一個像素點的特征屬性是否滿足閾值的要求來確定圖像中該像素點屬于目標區還是應該屬于背景區域,從而產生二值圖像。
本節介紹選擇合適的閾值方法有:
直方圖門限選擇
半閾值選擇圖像分割
迭代閾值圖像分割7.2.1直方圖門限選擇
1.理論基礎閾值T可通過分析邊緣檢測輸出的直方圖來確定。假設,一幅圖像只有物體和背景兩部分組成,其灰度級直方圖成明顯的雙峰值,如圖7-1。
255f(i,j)圖7-1雙峰灰度級直方圖
在此情況下,選取雙峰間的谷底處的灰度值T作為閾值,即可將物體和背景很好地分割開。閾值分割法可用數學表達式來描述。設圖像為f(i,j),其灰度級范圍為[z1,z2],設T為閾值,是z1和z2內任一值,可得一幅二值圖像,其數學表達式為:
255如果f(i,j)≥Tf(i,j)=(7-1)
0如果f(i,j)<T或者,也可以0如果f(i,j)≥Tf(i,j)=(7-2)255如果f(i,j)<T假如,其灰度級直方圖能呈現多個明顯的峰值,比如有三個峰值,可取兩個峰谷處的灰度值T1,T2作為閾值。同樣,可將閾值化后的圖像變成二值化圖像。
f(i,j)T1T22550圖7-2多峰值灰度級直方圖其數學表達式為:
0如果T1≤f(i,j)≤T2f(i,j)=(7-3)255其它或者,同樣也可以255如果T1≤f(i,j)≤T2f(i,j)=(7-4)0其它
2.實現步驟(1)獲得原圖像的首地址,及圖像的寬和高。(2)開辟一塊內存空間,并初始化為255。(3)進行圖像灰度統計,顯示灰度直方圖。(4)通過對話框選取一個峰谷作為閾值。(5)像素灰度值與閾值之差小于30,將像素置為0,否則置為255。(6)將結果復制到原圖像數據區。3.編程代碼
對圖像進行灰度直方圖統計。
voidBingXingBianJieDib::Zhifangtu(float*tongji)對圖像進行閾值分割。
voidBingXingBianJieDib::Yuzhifenge(intYuzhi)
見光盤程序代碼4.效果對比圖
(a)根據直方圖選擇閾值
(b)原圖
(c)二值化效果圖7.2.2半閾值選擇分割
1.理論基礎上述方法,不論圖像的直方圖具有雙峰還是多峰值,經過閾值化后均將原始灰度級多值圖像變成二值圖像,假如希望閾值后的圖像只把圖像的背景表示成二值圖像(即背景不是最白(用1表示)就是最黑(用0表示))而圖像中的物體仍為多值圖像。此時,可采用半閾值技術,把物體從背景中分離出來。
半閾值化后的圖像可用數學表達式表示為:f(i,j)
如果f(i,j)≥Tf(i,j)=(7-6)0或者255如果f(i,j)<T
或者f(i,j)
如果f(i,j)≤Tf(i,j)=(7-7)0或者255其它2.實現步驟(1)獲得原圖像的首地址,及圖像的寬和高。(2)開辟一塊內存空間,并初始化為255。(3)進行圖像灰度統計,顯示灰度直方圖。請看Zhifangtu(float*tongji)函數。(4)選取一個峰谷作為閾值。(5)像素灰度值與閾值之差小于30,將像素置為0,否則保持灰度值不變。(6)將結果復制到原圖像數據區。
3.編程代碼
for(j=0;j<height;j++){ for(i=0;i<wide;i++) { lpSrc=p_data+wide*j+i; lpDst=temp+wide*j+i; if((*lpSrc-Yuzhi)<30) *lpDst=*lpSrc; }}4.效果對比圖
(a)根據直方圖選擇閾值
(b)半閾值選擇圖像分割效果圖
7.2.3迭代閾值分割
1.理論基礎迭代的方法產生閾值,可以通過程序自動計算出比較合適的分割閾值。其計算方法是這樣的:(1)選擇閾值T,通常可以選擇圖像的平均灰度值來作為初始閾值;(2)通過初始閾值T,把圖像的平均灰度值分成兩組R1和R2;(3)計算著兩組平均灰度值μ1和μ2;(4)重新選擇閾值T,新的T定義為:T=(μ1+μ2)/2;循環做第二步到第四步,一直到兩組的平均灰度值μ1和μ2不在發生改變,那么我們就獲得了所需要的閾值。
2.實現步驟(1)
獲得原圖像的首地址,及圖像的高和寬。(2)進行直方圖統計。請看Zhifangtu(float*tongji)函數。(3)設定初始閾值T=127。(4)分別計算圖像中小于T和大于T的兩組平均灰度值。(5)迭代計算閾值,直至兩個閾值相等。(7)根據計算出的閾值,對圖像進行二值化處理。3.編程代碼
對圖像進行迭代閾值分割。voidBingXingBianJieDib::Diedaifazhi(int*tongji)見光盤程序代碼4.效果對比圖圖7-5迭代閾值圖像分割效果圖
7.3目標物體的輪廓提取
輪廓提取法
邊界跟蹤法
區域增長法
區域分裂合并法7.3.1輪廓提取法
1.理論基礎圖像邊緣是圖像局部特性不連續性(灰度突變、顏色突變等)的反映,它標志著一個區域的終結和另一個區域的開始。二值圖像的輪廓提取的原理非常簡單,就是掏空內部點:如果原圖中有一點為黑,且它的8個相鄰點皆為黑,則將該點刪除。對于非二值圖像,要先進行二值化處理。
2.實現步驟(1)獲取原圖像像素的首地址,及圖像的高和寬。(2)開辟一塊內存緩沖區,將原圖像素保存在內存中。(3)將像素點的8鄰域像素讀入數組中,如果每一個鄰域像素的灰度值和中心點的灰度值相差小于10,則認為鄰域像素和中心點相同,如果8個鄰域像素都和中心點相同,在內存緩沖區中將該像素點置白,否則保持不變。(4)重復執行(3),對每一個像素進行處理。(5)將內存中的數據復制到原圖像中。
3.編程代碼對圖像進行輪廓提取。
voidBingXingBianJieDib::Lunkuotiqu()見光盤程序代碼4.效果對比圖
(a)原圖(b)輪廓提取效果圖
7.3.2邊界跟蹤法
1.理論基礎
邊界跟蹤的基本方法是:先根據某些嚴格的“探測準則”找出目標物體輪廓上的像素,再根據這些像素的某些特征用一定的“跟蹤準則”找出目標物體上的其他像素。一般的跟蹤準則是:邊緣跟蹤從圖像左上角開始逐像點掃描,當遇到邊緣點時則開始順序跟蹤,直至跟蹤的后續點回到起始點(對于閉合線)或其后續點再沒有新的后續點(對于非閉合線)為止。如果為非閉合線,則跟蹤一側后需從起始點開始朝相反的方向跟蹤到另一尾點。如果不止一個后續點,則按上述連接準則選擇加權平均最大的點為后續點,另一次要的后續點作為新的邊緣跟蹤起點另行跟蹤。一條線跟蹤完后,接著掃描下一個未跟蹤點,直至圖像內的所有邊緣都跟蹤完畢。
(a)中心像素跟蹤的8個方向編號及偏移量
(b)邊界跟蹤示意圖
(-1,-1)(0,-1)(1,-1)(-1,0)(1,0)(-1,1)(0,1)(1,1)2.實現步驟(1)獲得原圖像的首地址,及圖像的高和寬。(2)開辟一塊內存緩沖區,初始化為255。(3)將圖像進行二值化處理。(4)跟蹤邊界點,找到1個邊界點,就將內存緩沖區中該點相應位置置0。(5)按照跟蹤準則,重復執行(4),直到回到初始點。(6)將內存緩沖區的內容復制到原圖像中。
3.編程代碼
對圖像進行輪廓跟蹤。
voidBingXingBianJieDib::Lunkuogenzong()見光盤程序代碼4.效果對比圖(a)原圖(b)外邊界跟蹤效果圖
7.3.3區域增長法
1.理論基礎
算法的主要過程是,依次用圖像的每一個像素的灰度值和標準閾值相減,判斷結果是否小于標準差,是則將該點和種子點合并,不是則保持像素點的灰度值不變。這樣處理后的圖像就是用區域分割法處理后的邊緣分割圖像。
圖7-9區域增長法示意圖
2.實現步驟(1)獲取原圖像的像素的首地址,以及圖像的高和寬。(2)依次用圖像的每一個像素的灰度值減去標準閾值,判斷結果的絕對值是否小于標準差,標準差為10。如果小于則將標準閾值賦給該像素點,否則灰度值保持不變。
(3)調用刷新函數顯示效果圖。
3.編程代碼 unsignedcharzhongzi=*(p_data+point.y*wide+point.x);//計算種子點一的灰度值 //對各像素進行灰度轉換 for(j=0;j<height;j++) {for(i=0;i<wide;i++) {//獲取各顏色分量 unsignedchartemp=*((unsignedchar*)p_data+wide*j+i); if(abs(temp-zhongzi)<10)//當前點同種子一灰度值比較接近 { //將種子一的顏色賦給當前像素 *((unsignedchar*)p_data+wide*j+i)=temp; } else *((unsignedchar*)p_data+wide*j+i)=255; } }4.效果對比圖(a)選擇生長點
(b)按右鍵點擊黑處效果圖7.3.4區域分裂合并法區域分裂合并方法利用了圖像數據的金字塔或四叉樹數據結構的層次概念,將圖像劃分成一組任意不相交的初始區域,即可以從圖像的這種金字塔或四叉樹數據結構的任一中間層開始,根據給定的均勻性檢測準則進行分裂和合并這些區域,逐步改善區域劃分的性能,直至最后將圖像分成數量最少的均勻區域為止。
區域分裂合并方法算法步驟是:(1)
確定均勻性測試準則T,將原始圖像構造成四叉樹數據結構。(2)
將圖像四叉樹結構中的某一中間層作為初始的區域劃分。如果對任何區域R,有T(R)=false,則把區域分裂成4個子區,若任一1/4子區Ri有,T(Ri)=false,則再將該子區一分為四四個區域。如果對任一恰當的四個子區有T(R1∪R2∪R3∪R4)=true,則再把四個子區合并成一個區。重復上述操作,直到不可再分或再合為止。(3)
若有不同大小的兩個相鄰區域Ri和Rj,滿足T(Ri∪Rj)=true,則合并這兩個區域。舉例說明:(a)對原圖進行第一次操作
(b)第二次操作
(c)最終結果
7.4圖像的測量
幾個基本概念:
(1)鄰域(2)連通4點鄰連通8點連通
與像素(x,y)對應的點集合{(x+p,y+q);((p,q)是一對有意義的整數)}稱之為像素(x,y)的鄰域。離散圖像處理中常取4鄰域和8鄰域.
(3)連通成份
(4)標記
二值圖像中互相連通的0-像素集或1-像素集稱之為連通成份。
分割后的一幀圖像內可能存在多個連通成份,每個非連通成份都對應一個目標圖像區,給各目標圖像區分配相應標號的工作稱之為標記。
本小節是以存在著一定面積黑區域的二值圖像為對像的處理程序集,在二值圖像中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省煙草專賣局(公司)真題2024
- 昆明市公安局勤務輔警招聘筆試真題2024
- 2025版中建工地安全文明標準化觀摩手冊
- 2025年英語六級6月試題
- 論杜威對西方傳統哲學中二元論思維的批判與超越
- 區域性廢棄物資源化處理工藝與設備選擇
- 業財融合視角下農業副產品的全生命周期管理
- 高中語文和外語通跨學科教學中的互動式課堂設計
- 2025至2030年中國豬光面獵裝女裙行業投資前景及策略咨詢報告
- 2025至2030年中國煉油三劑行業投資前景及策略咨詢報告
- 刺繡介紹教學課件
- 北京稅務籌劃課件
- 肥料施用與作物營養診斷考核試卷
- 內燃機技術協議書
- 數字智慧方案數字鄉村信息化建設及精細化治理平臺建設方案
- 知識產權國際保護課件
- 2024年隴南市事業單位專業技術人才引進筆試真題
- 2025年海南省中考模擬語文試題(含答案)
- 法律文化-形考作業1-國開(ZJ)-參考資料
- 2025年山東省德州市樂陵市中考一模生物學試題(含答案)
- 2025遼寧沈陽水務集團有限公司招聘32人筆試參考題庫附帶答案詳解
評論
0/150
提交評論