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-bounds для блоков ребра.
    EndИндексы массивов последнего элемента в блоке. Если BorderSize задан, этот индекс может выйти за пределы для блоков ребра.
    BlocksubИндексы блока текущего блока
    BorderSizeЗначение BorderSize параметр
    BlockSizeЗначение BlockSize параметр. Примечание: размер (данные) может быть меньше, это значение для границы блокирует PadPartialValue является ложным.
    BatchSizeЗначение BatchSize параметр

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

    свернуть все

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

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

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

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

    Маркируйте TypeОписание
    ПрямоугольникP-by-1 массив ячеек, задающий Прямоугольники P, каждый содержащий положение определения вектора 1 на 4 местоположений ограничительной рамки как [x y w h] или несколько Прямоугольных ROI, заданных как матрица M-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-8.
    AttributesМассив structs представление атрибутов содержится в автоматизированных метках. Каждый атрибут задан как поле struct с именем поля, представляющего имя атрибута и значение поля, представляющего значение атрибута. Это - дополнительное поле, только представьте, если заданные метки имеют атрибуты.

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

    Советы

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

    Смотрите также

    Приложения

    Объекты

    Введенный в R2021a