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

Файлы PNG в папке PixelLabelData хранятся как категориальная матрица. Матрицы categorical содержат значения, присвоенные категориям. Категориальный тип данных. Категориальная матрица обеспечивает эффективное устройство хранения данных и удобную манипуляцию нечисловых данных, также поддерживая понятные имена для значений. Эти матрицы являются естественными представлениями для семантической наземной истины сегментации, где каждый пиксель является одной из предопределенной категории меток.
Объектно-ориентированная память groundTruth путь к папке и имя для пикселя маркирует папку данных. Наземное свойство LabelData истины этого объекта содержит информацию в столбце 'PixelLabelData'. Если вы изменяете местоположение файла пиксельных данных, необходимо также обновить сопутствующую информацию в объекте groundTruth. Можно использовать функцию changeFilePaths, чтобы обновить информацию.
Магазин приложений этикетировочной машины семантическая наземная истина сегментации как файлы PNG без потерь, со значением uint8, представляющим каждую категорию. Приложение использует функцию categorical, чтобы сопоставить значения uint8 к категории. Чтобы просмотреть ваши пиксельные данные, можно или наложить категории на изображениях или создать datastore из маркированных изображений.
Используйте функцию imread с функции labeloverlay и categorical. Вы не можете просмотреть пиксельные данные непосредственно из категориальной матрицы. Вид на море Экспортировал Пиксельные Данные о Метке.
Используйте функцию pixelLabelDatastore, чтобы создать datastore из набора маркированных изображений. Используйте функцию read, чтобы считать пиксельные данные о метке. Смотрите Пиксельные Данные о Метке Чтения и Отображения.
Считайте изображение и соответствующие пиксельные данные о метке, которые были экспортированы из приложения этикетировочной машины.
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 изображений и пиксельный datastore метки
imds = imageDatastore(imDir); classNames = ["sky" "grass" "building" "sidewalk"]; pixelLabelID = [1 2 3 4]; pxds = pixelLabelDatastore(pxDir,classNames,pixelLabelID);
Считайте изображение и пиксельные данные о метке. read(pxs) возвращает категориальную матрицу, C. Элемент C (i, j) в матрице является категориальной меткой, присвоенной пикселю в местоположении l (i, j).
I = read(imds); C = read(pxds);
Отобразите категории метки в C.
categories(C)
ans = 4x1 cell array
{'sky' }
{'grass' }
{'building'}
{'sidewalk'}
Наложите и отобразите пиксельные данные о метке на изображение.
B = labeloverlay(I,C); figure imshow(B)
