如何在MATLAB中Image Labeler标注后的图像如何显示
时间: 2025-03-01 22:48:48 浏览: 126
在 MATLAB 中使用 Image Labeler 标注图像后,您可以按照以下步骤查看已标注的数据:
### 步骤一:保存标注数据
当您完成对图像的标注工作之后,记得将标注结果保存下来。Image Labeler 允许您直接导出到文件或workspace变量。
### 步骤二:加载标注数据
如果您之前已经保存了标注信息到.mat 文件或其他格式,则需要先将其读入内存。例如:
```matlab
data = load('yourLabeledDataFile.mat'); % 替换为您的实际文件名
```
### 步骤三:访问并显示带标签的信息
一旦有了包含所有必要字段的工作区变量(通常命名为 `groundTruth`),便可以提取原始图片路径以及对应的ROI和属性值等,并利用它们一起展示出来。
#### 示例代码段
假设我们有一个名为 `gt` 的结构体数组作为从 ImageLabeler 导出的结果:
```matlab
% 获取第一张图及其对应的所有label信息
imgFileName = fullfile(gt.ImageFilename{1});
imshow(imread(imgFileName)); hold on;
for k=1:numel(gt.Labels)
if strcmpi(gt.Labels(k).Name,'Rectangle') || ... % 这里可以根据实际情况调整条件判断
strcmpi(gt.Labels(k).Name,'Polygon')
positions = gt(LabelIndex).Position;
labels = gt(LabelIndex).Label;
switch lower(gt.Labels(k).Type)
case 'rectangle'
rectangle('Position',positions{k},'EdgeColor','r');
case 'polygon'
visboundaries(positions{k},'Color','g',...
'LineWidth',2);
otherwise
warning(['Unsupported label type ',char(gt.Labels(k).Type)]);
end
text(mean(positions(:,[1 3])),mean(positions(:,[2 4])),...
char(labels{k}),'FontSize',18,'FontWeight','bold',...
'Color',[0 .5 0],'HorizontalAlignment','center');
else
disp([ "处理非矩形或多边形区域" ]);
end
end
hold off;
title("Annotated Image Display");
```
上述脚本会遍历第一个样本里的每一个边界框或闭合曲线,在原图上描绘相应的轮廓线及名称标记。当然这只是一个简单的例子;对于更复杂的应用场景还需要根据具体需求编写适合自己的绘图函数。
阅读全文
相关推荐

















