bwboundaries是一個函式,可以用來獲取二值圖中對象的輪廓,包括外部輪廓與內部邊緣。
格式:B = bwboundaries(BW,conn)(基本格式)
作用:獲取二值圖中對象的輪廓,包括外部輪廓與內部邊緣。二值圖像中,對象必須由非零像素構成,0像素構成背景。B是一個P×1的cell數組,P為對象個數,每個cell是Q×2的矩陣,對應於對象輪廓像素的坐標。Q內每一行表示連通體的邊界像素的位置坐標(第一列是縱坐標Y,第二列是橫坐標X),Q為邊界像素的個數。
help 文檔例子:
I = imread('rice.png');%讀入圖像
BW = im2bw(I, graythresh(I));%轉換成2進制圖像
[B,L] = bwboundaries(BW,'noholes');%尋找邊緣,不包括孔
imshow(label2rgb(L, @jet, [.5 .5 .5]))%顯示圖像
hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'w', 'LineWidth', 2)
end%整個循環表示的是描邊