如何为语义分割创建带有像素标记的图像?

时间:2018-11-21 22:10:46

标签: image matlab image-processing machine-learning computer-vision

我正在遵循MathWorks的Semantic Segmentation Examples教程。

我知道我可以加载带有像素标签的图像

pxDir = fullfile(dataDir,'buildingPixelLabels');

定义类名。

classNames = ["sky" "grass" "building" "sidewalk"];

为每个类名称定义标签ID。

pixelLabelID = [1 2 3 4];

并创建一个pixelLabelDatastore。

pxds = pixelLabelDatastore(pxDir,classNames,pixelLabelID);

但是,如何创建一个自定义像素标签的图像,其中每个像素值代表该像素的分类标签?

然后我要写:

pxDir = fullfile(dataDir,'myCustomPixelLabels');

如果我理解正确,imageDatastore将保留实际图像,而不保留该图像的像素标签。


编辑:

在我的系统上,pxDir指向'C:\Program Files\MATLAB\R2017a\toolbox\vision\visiondata\buildingPixelLabels'。由于我使用的是Matlab2017a,因此默认情况下不包含此示例,并且我无法比较或查看文件以更好地理解重现此示例所需的操作。

1 个答案:

答案 0 :(得分:1)

可以找到答案here

Matlab 2017a

转到 APPS 标签,然后搜索Training Image LabelerAdd Images

点击Add ROI Labels添加您的训练图像。

单击array_merge添加感兴趣区域的类名。

继续从上传的图像中手动选择感兴趣的区域。

选择区域后,可以将数据作为“地面真相”对象导出到工作区。