Вычислите отношение перекрытия ограничительной рамки
возвращает отношение перекрытия между каждой парой ограничительных рамок overlapRatio
= bboxOverlapRatio(bboxA
,bboxB
)bboxA
и bboxB
. Функция возвращает overlapRatio
значение между 0
и 1
, где 1
подразумевает совершенное перекрытие.
дополнительно позволяет вам задать метод, чтобы использовать для вычисления отношения. Необходимо установить overlapRatio
= bboxOverlapRatio(bboxA
,bboxB
,ratioType
)ratioType
к любому 'Union'
или 'Min'
.
Задайте две ограничительных рамки в формате [x y высота ширины].
bboxA = [150,80,100,100]; bboxB = bboxA + 50;
Отобразите ограничительные рамки на изображении.
I = imread('peppers.png'); RGB = insertShape(I,'FilledRectangle',bboxA,'Color','green'); RGB = insertShape(RGB,'FilledRectangle',bboxB,'Color','yellow'); imshow(RGB)
Вычислите отношение перекрытия между этими двумя ограничительными рамками.
overlapRatio = bboxOverlapRatio(bboxA,bboxB)
overlapRatio = 0.0833
Случайным образом сгенерируйте два набора ограничительных рамок.
bboxA = 10*rand(5,4); bboxB = 10*rand(10,4);
Убедитесь, что ширина и высота полей положительны.
bboxA(:,3:4) = bboxA(:,3:4) + 10; bboxB(:,3:4) = bboxB(:,3:4) + 10;
Вычислите отношение перекрытия между каждой парой.
overlapRatio = bboxOverlapRatio(bboxA,bboxB)
overlapRatio = 5×10
0.2431 0.2329 0.3418 0.5117 0.7972 0.1567 0.1789 0.4339 0.0906 0.5766
0.3420 0.1655 0.7375 0.5188 0.2786 0.3050 0.2969 0.4350 0.2477 0.2530
0.4844 0.3290 0.3448 0.1500 0.1854 0.4976 0.5629 0.4430 0.5027 0.2685
0.3681 0.0825 0.3499 0.0840 0.0658 0.5921 0.6498 0.1930 0.7433 0.0676
0.3752 0.1114 0.3114 0.0696 0.0654 0.5408 0.6234 0.2046 0.7557 0.0717
bboxA
boundingboxОграничительные рамки в виде M-by-4 или M-by-5 неразреженная числовая матрица. M является количеством ограничительных рамок. Каждая строка матрицы задает ограничительную рамку или как выровненный осью прямоугольник или как вращаемый прямоугольник. Эта таблица описывает формат для каждой ограничительной рамки.
Boundingbox | Строка | Описание |
---|---|---|
Выровненный осью прямоугольник | [Min x, min y, width, height] | Этот тип ограничительной рамки задан в пиксельных координатах как M-by-4 матрица, представляющая ограничительные рамки M |
Вращаемый прямоугольник | [Центр x, центр y, width, height, yaw] | Этот тип ограничительной рамки задан в пространственных координатах как M-by-5 матрица, представляющая ограничительные рамки M. Центр x и координаты центра y представляют центр ограничительной рамки. width и элементы height представляют длину поля вдоль x и осей y, соответственно. yaw представляет угол поворота в градусах. Объем вращения вокруг центра ограничительной рамки измеряется в направлении по часовой стрелке. |
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
bboxB
boundingboxОграничительные рамки в виде M-by-4 или M-by-5 неразреженная числовая матрица. M является количеством ограничительных рамок. Каждая строка, M, матрицы задают ограничительную рамку или как выровненный осью прямоугольник или как вращаемый прямоугольник. Эта таблица описывает формат для каждой ограничительной рамки.
Boundingbox | Строка | Описание |
---|---|---|
Выровненный осью прямоугольник | [Min x, min y, width, height] | Этот тип ограничительной рамки задан в пиксельных координатах как M-by-4 матрица, представляющая ограничительные рамки M |
Вращаемый прямоугольник | [Центр x, центр y, width, height, yaw] | Этот тип ограничительной рамки задан в пространственных координатах как M-by-5 матрица, представляющая ограничительные рамки M. Центр x и координаты центра y представляют центр ограничительной рамки. width и элементы height представляют длину поля вдоль x и осей y, соответственно. yaw представляет угол поворота в градусах. Объем вращения вокруг центра ограничительной рамки измеряется в направлении по часовой стрелке. |
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
ratioType
— Тип отношения'Union'
(значение по умолчанию) | 'Min'
Тип отношения в виде вектора символов 'Union'
или 'Min'
.
Установите тип отношения на 'Union'
вычислить отношение как область пересечения между bboxA
и bboxB
, разделенный на область объединения двух.
Установите тип отношения на 'Min'
вычислить отношение как область пересечения между bboxA
и bboxB
, разделенный на минимальную область этих двух ограничительных рамок.
Типы данных: char
overlapRatio
— Перекройте отношение между двумя ограничительными рамкамиПерекройте отношение между двумя ограничительными рамками, возвращенными как M-by-N матрица. Каждый (I, J) элемент в выходной матрице соответствует отношению перекрытия между строкой I в bboxA
и строка J в bboxB
. Функция возвращает overlapRatio
в между 0 и 1, где 1
подразумевает совершенное перекрытие. Если любой bboxA
или bboxB
является двойным, затем функция возвращает overlapRatio
как double
. В противном случае функция возвращает его как single
.
Функция вычисляет отношение перекрытия на основе типа отношения. Можно установить ratioType
к 'Union'
или 'Min'
:
Типы данных: single
| double
Указания и ограничения по применению:
Генерация кода не поддерживается для вращаемых прямоугольных входных параметров.
selectStrongestBbox
| selectStrongestBboxMulticlass
| bboxPrecisionRecall
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.