Реализует блокированный алгоритм автоматизации изображений
вычисляет метки на основе алгоритма, который вы задаете в этом методе. Приложение Image Labeler вызывает этот метод на каждое изображение, которое вы выбираете для блокированной автоматизации изображений в приложении. res
= blockedImageAutomationAlgorithm(algObj
,bstruct
)algObj
vision.labeler.AutomationAlgorithm
объект. bstruct
структура. Формат выхода, res
, зависит от типа заданного алгоритма автоматизации.
Вот пример блокированной функции автоматизации алгоритма изображений.
function res = blockedImageAutomationAlgorithm(algObj,bstruct) % Detect people using aggregate channel features detector = peopleDetectorACF('inria-100x41'); [bboxes, scores] = detect(detector, bstruct.Data,... 'SelectStrongest', false); % Apply non-maximum suppression to select the strongest bounding boxes. [selectedBboxes, selectedScores] = selectStrongestBbox(bboxes, scores,... 'RatioType', 'Min',... 'OverlapThreshold', 0.65); % Consider only detections that meet specified score threshold selectedBboxes = selectedBboxes(selectedScores > 0, :); selectedBboxes(:,1) = selectedBboxes(:,1)+bstruct.Start(2); selectedBboxes(:,2) = selectedBboxes(:,2)+bstruct.Start(1); if algObj.SelectedLabelDefinitions.Type == "Rectangle" % Add the selected label at the bounding box position(s) res = struct(... 'Type', labelType.Rectangle,... 'Name', algObj.SelectedLabelDefinitions.Name,... 'Position', selectedBboxes); end end
Для алгоритмов автоматизации без пиксельных меток, Position
поле в res
должен быть в системе мировой координаты. Это может быть достигнуто путем добавления X и индексов Y в bstruct.Start
поле к выходу алгоритма автоматизации. Чтобы получить правильную координату X, добавьте bstruct.Start(2)
получить положение автоматизации выход в мировых координатах. Чтобы получить правильную координату Y, добавьте bstruct.Start(1)
получить положение автоматизации выход в мировых координатах.