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