blockedImageAutomationAlgorithm

Реализует алгоритм автоматизации заблокированных изображений

    Описание

    res = blockedImageAutomationAlgorithm(algObj,bstruct) вычисляет метки на основе алгоритма, заданного в этом методе. Приложение Image Labeler вызывает этот метод на каждом изображении, которое вы выбираете для автоматизации заблокированных изображений в приложении 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

    Входные параметры

    свернуть все

    Алгоритм автоматизации, заданный как vision.labeler.AutomationAlgorithm объект.

    Структура данных перешла к заблокированному изображению apply функция объекта, заданная как скаляр struct с этими полями.

    ОбластьОписание
    DataБлок данных массива из заблокированного изображения.
    StartМассивные индексы первого элемента в блоке. Если BorderSize задан, этот индекс может быть out-ot-границами для ребер.
    EndМассивные индексы последнего элемента в блоке. Если BorderSize задан, этот индекс может быть выходным для ребер.
    BlocksubИндексы блоков текущего блока
    BorderSizeЗначение BorderSize параметр
    BlockSizeЗначение BlockSize параметр. Примечание: размер (данные) может быть меньше этого значения для пограничных блоков PadPartialValue является ложным.
    BatchSizeЗначение BatchSize параметр

    Выходные аргументы

    свернуть все

    Результат обработки, возвращенный в виде скалярного struct. Формат структуры зависит от типа алгоритма автоматизации.

    Для алгоритмов автоматизации без пиксельных меток, struct содержит поля, описанные в этой таблице.

    ОбластьОписание
    TypeA labelType перечисление, которое определяет тип метки. Тип может иметь значения: Rectangle, Line, Projected cuboid, Cuboid, или Scene.
    NameВектор символов, задающий имя метки, которое возвращает true для checkLabelDefinition. Могут использоваться только существующие имена меток, ранее определенные в приложении Image Labeler.
    Position

    Положения меток. Тип метки определяет формат данных о положении.

    Тип меткиОписание
    ПрямоугольникP ячеек -by-1 P задающий Прямоугольники, каждый из которых содержит вектор 1 на 4, определяющий положение местоположений ограничивающих прямоугольников следующим [x y w h] или несколько прямоугольников ROI, заданных в виде матрицы M-by-4.
    ЛинияP ячеек -by-1 P задающий полилинии, каждый из которых содержит вектор N-by-2, задающий N точки вдоль каждой полилинии как: [x1,y1; x2,y2;...xN,yN]
    МногоугольникиP ячеек -by-1 P задающий многоугольники, каждый из которых содержит вектор N-by-2, задающий N точки вдоль каждого многоугольника как: [x1,y1; x2,y2;...xN,yN]
    Проектируемый кубоидP ячеек -by-1 P задающий проективные кубоиды, каждый из которых содержит вектор 1 на 8, определяющий положение первичной и вторичной граней как: [x1 y1 w1 h1 x2 y2 w2 h2] или несколько проективных кубоидных ROI могут быть заданы как матрица M-by-8.
    AttributesМассив structs представление атрибутов, содержащихся в автоматических метках. Каждый атрибут задается как поле struct с именем поля, представляющего имя атрибута, и значением поля, представляющего значение атрибута. Это необязательное поле, доступное только в том случае, если определенные метки имеют атрибуты.

    Для алгоритмов автоматизации с пиксельными метками, res является categorical матрица меток, где каждая категория представляет пиксельную метку.

    Совет

    • Для алгоритмов автоматизации без пиксельных меток, Position поле в res должно находиться в мировой системе координат. Это может быть достигнуто путем добавления индексов X и Y в bstruct.Start поле на выход алгоритма автоматизации. Чтобы получить правильную координату X, добавьте bstruct.Start(2) получить положение выхода автоматизации в мировых координатах. Чтобы получить правильную координату Y, добавьте bstruct.Start(1) получить положение выхода автоматизации в мировых координатах.

    См. также

    Приложения

    Объекты

    Введенный в R2021a