close all
clear all
clc
RGB = imread('coins.jpg');
I = rgb2gray(RGB);
threshold = graythresh(I);
bw = im2bw(I,threshold);
bw = bwareaopen(bw,30);
se = strel('disk',2);
bw = imclose(bw,se);
bw = imfill(bw,'holes');%填充空洞
[B,L] = bwboundaries(bw,'noholes');
imshow(label2rgb(L, @jet, [.5 .5 .5]))
hold on
for k = 1:length(B)
boundary = B{k};%boundary or B的二维分别代表什么????????
plot(boundary(:,2), boundary(:,1), 'w', 'LineWidth', 2)
metric_string = sprintf('%.0f',k); %统计结果
text(boundary(1,2)-15,boundary(1,1)+13,metric_string,'Color','y',...
'FontSize',14,'FontWeight','bold');
end
标记结果: