我正在按照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 Files\MATLAB\R2017a\toolbox\vision\visiondata\buildingPixelLabels'
。由于我使用的是Matlab2017a,所以这个示例默认不包含,我无法比较或查看文件以更好地理解如何重现这个示例。
回答:
答案可以在这里找到。
Matlab 2017a
转到APPS选项卡,搜索Image Labeler
或Training Image Labeler
点击Add Images
添加您的训练图像。
点击Add ROI Labels
添加感兴趣区域的类名称。
继续手动从上传的图像中选择感兴趣的区域。
一旦区域被选中,数据可以导出到工作区作为地面真实对象。