Matlab:创建带有名称的矩形框

Matlab : Create Rectangular Box with name

目前,我尝试在白色物体周围绘制一个矩形框,并用标签指示其大小。 我想创建 4 个尺寸类别:

  1. 没有

我不知道如何创建它。

使用insertObjectAnnotation:

% generate image
bw = zeros(1000);
[xg,yg] = meshgrid(1:1000);
rads = 10:20:100;
for ii = 1:length(rads)
    r = rads(ii);
    c = randi([1+r,1000-r],[1,2]);
    bw = bw | ( ((xg - c(1)).^2 + (yg - c(2)).^2) < r^2);
end
% extract region properties
props = regionprops(bw,'Area','BoundingBox');
% add labels
sizes = [0,2000,6000,10000];
labels = {'tiny','small','medium','large'};
colors = autumn(numel(labels));
bw = double(bw);
for ii = 1:numel(props)
    labelidx = find(props(ii).Area > sizes,1,'last');
    bw = insertObjectAnnotation(bw,'rectangle',...
        props(ii).BoundingBox,labels{labelidx},...
        'Color',colors(labelidx,:),'FontSize',32);
end
imshow(bw);

编辑:将此应用于 OP 的图像: