2014-03-04 70 views
1

我有一個二進制掩碼,我希望這個掩碼的邊界被標記一個值,例如值2.這將是更可取的,邊界寬度是一個特定的百分比。換句話說,如果我們可以動態地改變邊界掩碼,那將是完美的。任何人都可以幫助我以高效,快捷的方式做到這一點嗎?二進制掩碼的邊界

非常感謝你,非常感謝你的幫助!

enter image description here

回答

0

這將是更低的答案,更指導意見。您可以使用的工具 - IMDILATE(用於更改邊界寬度)和BWMORPH(用於計算寬度變化,可以探索其骨架化選項),以用於表示邊界像素的二進制圖像。這就是我能想到的,遠離我的頭頂。

+0

我進行圖像關閉,然後我減去了口罩。有效。 – Thoth

+0

太棒了!很高興工作! – Divakar

0

既然您擁有圖像處理工具箱,一個簡單的方法就是使用bwperimbwboundaries

bwperim例子:

BW1 = imread('circbw.tif'); 
BW2 = bwperim(BW1,8); 
figure; subplot(121);imshow(BW1);subplot(122);imshow(BW2) 

enter image description here

然而,改變邊框的寬度,你就必須將兩個圖像(BW3 = BW1 | BW2;),然後重新運行bwperimBW4 = bwperim(BW3,8);)相結合。因此,對於任何超過單個像素寬度的邊界多了,我會用imdilatexor口罩:

BW1 = imread('circbw.tif'); 
BW2 = imdilate(BW1,strel('disk',2)); 
BW_border = xor(BW2,BW1); 

enter image description here