При создании и экспорте пиксельных меток из приложения Image Labeler, Video Labeler или Ground Truth Labeler (Automated Driving Toolbox) (требует Automated Driving Toolbox™) сохраняются два набора данных.
Папка с именем PixelLabelData, который содержит файлы информации о пиксельных метках. Эти метки кодируются как индексированные значения.
MAT-файл, содержащий данные о пиксельных метках, вместе с любыми другими данными о метках. Эти данные хранятся в groundTruth объект, или, если вы используете приложение Ground Truth Labeler, groundTruthMultisignal (Automated Driving Toolbox) объект. Для данных о пиксельных метках объект также хранит соответствия между изображением или видеокадрами и файлами PNG.

Файлы PNG в PixelLabelData папка хранится как категориальная матрица. categorical матрицы содержат значения, присвоенные категориям. Категориальным является тип данных. Категориальная матрица обеспечивает эффективное хранение и удобную манипуляцию нечисловыми данными, а также сохраняет значимые имена для значений. Эти матрицы являются естественными представлениями для семантической сегментации основная истина, где каждый пиксель является одной из предопределенной категории меток.
Объект основная истина хранит путь к папке и имя для папки данных о пиксельных метках. The LabelData свойство groundTruth объект или ROILabelData свойство groundTruthMultisignal объект содержит информацию в 'PixelLabelData' столбец. Если вы меняете расположение пиксельных файлов данных, необходимо также обновить связанную информацию в объекте основной истины. Вы можете использовать changeFilePaths функция для обновления информации.
Приложения labeler сохраняют semantic segmentation основная истина как файлы без потерь с uint8 значение, представляющее каждую категорию. Приложение использует categorical функция для связи uint8 значений в категорию. Чтобы просмотреть данные пикселя, можно либо наложить категории на изображения, либо создать datastore из маркированных изображений.
Используйте imread с функцией categorical и labeloverlay функций. Вы не можете просмотреть пиксельные данные непосредственно из категориальной матрицы. См. «Просмотр экспортированных данных о пиксельных метках».
Используйте pixelLabelDatastore функция для создания datastore из набора маркированных изображений. Используйте read функция для чтения данных о пиксельных метках. Смотрите Пиксельные Данные о Пиксельных Метках Чтения и Отображения.
Считайте изображение и соответствующие данные о пиксельных метках, которые были экспортированы из приложения labeler.
visiondatadir = fullfile(toolboxdir('vision'),'visiondata'); buildingImage = imread(fullfile(visiondatadir,'building','building1.JPG')); buildingLabels = imread(fullfile(visiondatadir,'buildingPixelLabels','Label_1.png'));
Задайте категории для каждого значения пикселя в buildingLabels.
labelIDs = [1,2,3,4]; labelcats = ["sky" "grass" "building" "sidewalk"];
Создайте категориальную матрицу, используя изображение и определения.
buildingLabelCats = categorical(buildingLabels,labelIDs,labelcats);
Отобразите категории, наложенные на изображение.
figure imshow(labeloverlay(buildingImage,buildingLabelCats))
![]()
Наложите данные о пиксельных метках на изображение.
Установите местоположение изображения и данные о пиксельных метках.
dataDir = fullfile(toolboxdir('vision'),'visiondata'); imDir = fullfile(dataDir,'building'); pxDir = fullfile(dataDir,'buildingPixelLabels');
Создайте изображение datastore.
imds = imageDatastore(imDir);
Создайте хранилище данных меток пикселей.
classNames = ["sky" "grass" "building" "sidewalk"]; pixelLabelID = [1 2 3 4]; pxds = pixelLabelDatastore(pxDir,classNames,pixelLabelID);
Считайте изображение и данные о пиксельных метках. read(pxds) возвращает категориальную матрицу, C. Элемент C (i, j) в матрице является категориальной меткой, назначенной пикселю в местоположении l (i, j).
I = read(imds); C = read(pxds);
Отображение категорий меток в C.
categories(C{1})ans = 4x1 cell
{'sky' }
{'grass' }
{'building'}
{'sidewalk'}
Наложите и отобразите данные о пиксельных метках на изображение.
B = labeloverlay(I,C{1});
figure
imshow(B)
groundTruth | pixelLabelImageDatastore | groundTruthMultisignal (Automated Driving Toolbox)changeFilePaths
(groundTruth) | changeFilePaths
(groundTruthMultisignal) (Automated Driving Toolbox)