我正在学习MathWorks的语义分割示例教程。
我知道我可以加载像素标记的图像
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 FilesMATLABR2017atoolboxvisionvisiondatabuildingPixelLabels'
。由于我在Matlab2017a上,因此默认情况下不包括此示例,并且我无法比较或查看文件以更好地了解复制此示例需要做什么。
答案可以在这里找到。
Matlab 2017a
转到APPS选项卡,搜索Image Labeler
或Training Image Labeler
单击Add Images
添加您的训练图像。
单击Add ROI Labels
为感兴趣的区域添加类名。
继续从上传的图像中手动选择感兴趣的区域。
一旦选择了区域,数据就可以作为Ground Truth对象导出到工作空间。