函數功能: 對二值圖像進行數學形態學(Mathematical Morphology)運算。函數
語法格式:spa
BW2 = bwmorph(BW,operation)blog
對二值圖像進行指定的形態學處理。rem
BW2 = bwmorph(BW,operation,n)字符串
對二值圖像進行n次指定的形態學處理。 n能夠是Inf(無窮大),這意味着將一直對該圖像作一樣的形態學處理直到圖像再也不發生變化。數學
operation是一個字符串, 用於指定進行的形態學處理類型, operation能夠爲如下值:it
'bothat':進行「bottom hat」形態學運算,即返回源圖像減去閉運算的圖像;io
'branchpoints':找到骨架中的分支點;class
'bridge':進行像素鏈接操做;語法
'clean':去除圖像中孤立的亮點,好比, 一個像素點, 像素值爲1,其周圍像素的像素值全爲0,則這個孤立的亮點將被去除;
'close':進行形態學閉運算(即先腐蝕後膨脹);
'diag': 採用對角線填充, 去除八鄰域的背景;
'dilate': 使用結構元素ones(3)對圖像進行膨脹運算;
'endpoints':找到骨架中的結束點;
'erode':使用結構元素ones(3)對圖像進行腐蝕運算;
'fill':填充孤立的黑點, 好比3*3的矩陣, 除了中間元素爲0外,其他元素所有爲1,則這個0將被填充爲1;
'hbreak':斷開圖像中的H型鏈接;
'majority':若是一個像素的8鄰域中有等於或超過5個像素點的像素值爲1, 則將該點像素值置1;
'open':進行形態學開運算(即先膨脹後腐蝕);
'remove':若是一個像素點的4鄰域都爲1, 則該像素點將被置0;該選項將致使邊界像素上的1被保留下來;
'skel':在這裏n = Inf,骨架提取但保持圖像中物體不發生斷裂;不改變圖像歐拉數;
'spur':去除小的分支, 或引用電學術語「毛刺」;
'thicken':在這裏n = Inf, 經過在邊界上添加像素達到加粗物體輪廓的目的;
'thin':在這裏n = Inf,進行細化操做;
'tophat':進行「top hat」形態學運算, 返回源圖像減去開運算的圖像;