我有一個二進制掩碼,我希望這個掩碼的邊界被標記一個值,例如值2.這將是更可取的,邊界寬度是一個特定的百分比。換句話說,如果我們可以動態地改變邊界掩碼,那將是完美的。任何人都可以幫助我以高效,快捷的方式做到這一點嗎?二進制掩碼的邊界
非常感謝你,非常感謝你的幫助!
我有一個二進制掩碼,我希望這個掩碼的邊界被標記一個值,例如值2.這將是更可取的,邊界寬度是一個特定的百分比。換句話說,如果我們可以動態地改變邊界掩碼,那將是完美的。任何人都可以幫助我以高效,快捷的方式做到這一點嗎?二進制掩碼的邊界
非常感謝你,非常感謝你的幫助!
這將是更低的答案,更指導意見。您可以使用的工具 - IMDILATE(用於更改邊界寬度)和BWMORPH(用於計算寬度變化,可以探索其骨架化選項),以用於表示邊界像素的二進制圖像。這就是我能想到的,遠離我的頭頂。
既然您擁有圖像處理工具箱,一個簡單的方法就是使用bwperim
或bwboundaries
。
的bwperim
例子:
BW1 = imread('circbw.tif');
BW2 = bwperim(BW1,8);
figure; subplot(121);imshow(BW1);subplot(122);imshow(BW2)
然而,改變邊框的寬度,你就必須將兩個圖像(BW3 = BW1 | BW2;
),然後重新運行bwperim
(BW4 = bwperim(BW3,8);
)相結合。因此,對於任何超過單個像素寬度的邊界多了,我會用imdilate
和xor
口罩:
BW1 = imread('circbw.tif');
BW2 = imdilate(BW1,strel('disk',2));
BW_border = xor(BW2,BW1);
我進行圖像關閉,然後我減去了口罩。有效。 – Thoth
太棒了!很高興工作! – Divakar