0
灰色の画像で境界線をトレースしたいだけです。リージョン境界を2回取得することで問題が発生しました。どのようにして1つの境界線しか得ることができず、エッジピクセルの中心に来ることができません。 次の例では、私は2つの領域4,30を得ました。しかし、私は(4)しか必要ありません。それを得るためにはどの画像の前処理が必要ですか?bwboundaries - 、MATLAB-、前処理
例: noholes
-optionと領域4、30
BW = imread('blobs.png');
[B,L,N,A] = bwboundaries(BW);
figure, imshow(BW); hold on;
colors=['b' 'g' 'r' 'c' 'm' 'y'];
for k=1:length(B)
boundary = B{k};
cidx = mod(k,length(colors))+1;
plot(boundary(:,2), boundary(:,1),...
colors(cidx),'LineWidth',2);
%randomize text position for better visibility
rndRow = ceil(length(boundary)/(mod(rand*k,7)+1));
col = boundary(rndRow,2); row = boundary(rndRow,1);
h = text(col+1, row-1, num2str(L(row,col)));
set(h,'Color',colors(cidx),...
'FontSize',14,'FontWeight','bold');
end
figure; spy(A);