bboxcrop

Обрежьте ограничительные рамки

Описание

пример

bboxB = bboxcrop(bboxA,window) ограничительные рамки обрезок от набора входных ограничительных рамок, bboxA, расположенный в обрезке window.

[bboxB,indices] = bboxcrop(bboxA,window) дополнительно возвращает вектор индексов, которые указывают который ограничительные рамки в bboxA в окне обрезки, window.

[___] = bboxcrop(___,'OverlapThreshold',threshold) дополнительно устанавливает порог перекрытия.

Примеры

свернуть все

Считайте изображение.

I = imread('peppers.png');

Задайте ограничительные рамки и метки.

bboxA = [
    410 230 100 90
    186 78  80  60
    ]
bboxA = 2×4

   410   230   100    90
   186    78    80    60

labelsA = [
    "garlic"
    "onion"
    ];

Создайте окно обрезки центра.

targetSize = [256 256];
win = centerCropWindow2d(size(I),targetSize);

Центр обрезает изображение.

[r,c] = deal(win.YLimits(1):win.YLimits(2),win.XLimits(1):win.XLimits(2));
J = I(r,c,:);

Центральные поля обрезки и метки. Поля за окном обрезки удалены.

[bboxB,indices] = bboxcrop(bboxA,win);
labelsB = labelsA(indices);

Отобразите результаты.

figure
I = insertObjectAnnotation(I,'Rectangle',bboxA,labelsA);
J = insertObjectAnnotation(J,'Rectangle',bboxB,labelsB);
imshowpair(I,J,'montage')

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

свернуть все

Ограничительные рамки, заданные как M-by-4 матрица ограничительных рамок M. Каждая строка, M, матрицы задают ограничительную рамку как четырехэлементный вектор [x, y, width, height] в пиксельных координатах.

Обрежьте окно, заданное как четырехэлементный вектор [x, y, width, height], изображение или images.spatialref.Rectangle объект.

Перекройте порог, заданная положительная скалярная величина, меньше чем или равная 1. Сумма перекрытия между преобразованными полями и областью, заданной выходным представлением, задана как:

область (bbox пересекают bounding rectangle) / область (bbox)

  • bounding rectangle — Заданный входом пространственный ссылочный объект, ref.

  • bbox — Результат преобразования окружает bboxA.

Если вычисленное значение перекрытия больше значения threshold свойство, затем преобразованные поля отсекаются к границе ограничительного прямоугольника. В противном случае поля отбрасываются. Понижение порога может привести к частям отбрасываемого объекта.

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

свернуть все

Обрезанные ограничительные рамки, возвращенные как N-by-4 матрица ограничительных рамок N. Количество возвращенных ограничительных рамок меньше количества ограничительных рамок во входе. Каждая строка, N, матрицы задают одну ограничительную рамку в пиксельных координатах, как четырехэлементный вектор [x, y, width, height]. Местоположение выходных ограничительных рамок относительно окна обрезки.

Индексы, возвращенные как вектор целых чисел. Индексы указывают который ограничительные рамки во входе, bboxA, в окне обрезки.

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

| |

Введенный в R2019b