Реализует алгоритм автоматизации заблокированных изображений
вычисляет метки на основе алгоритма, заданного в этом методе. Приложение 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) получить положение выхода автоматизации в мировых координатах.