Matlab函數bwmorph、bwperim

Matlab函數bwmorph簡介

  函數功能: 對二值圖像進行數學形態學(Mathematical Morphology)運算。

  語法格式:

  BW2 = bwmorph(BW,operation)

  對二值圖像進行指定的形態學處理。

  BW2 = bwmorph(BW,operation,n)

  對二值圖像進行n次指定的形態學處理。 n可以是Inf(無窮大),這意味着將一直對該圖像做同樣的形態學處理直到圖像不再發生變化。

  operation是一個字符串, 用於指定進行的形態學處理類型, operation可以爲以下值:

  'bothat':進行“bottom hat”形態學運算,即返回源圖像減去閉運算的圖像;

  'branchpoints':找到骨架中的分支點;

  '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”形態學運算, 返回源圖像減去開運算的圖像;

Matlab函數——bwperim

功能:查找二值圖像的邊緣。

用法:BW2 = bwperim(BW1)
BW2 = bwperim(BW1,conn)
BW2 = bwperim(BW1,conn)表示從輸入圖像BW1中返回只包括對象邊緣像素點的圖像。
conn的定義值如下:

維數

參數值

說明

對二維

4    4鄰域

8    8鄰域

對三維

6    6鄰域

18  18鄰域

26  26鄰域

例子:
BW1 = imread('circbw.tif');
BW2 = bwperim(BW1,8);
imshow(BW1)
figure, imshow(BW2)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章