Вычисление коэффициента перекрытия ограничивающего прямоугольника
возвращает коэффициент перекрытия между каждой парой ограничивающих прямоугольников overlapRatio
= bboxOverlapRatio(bboxA
,bboxB
)bboxA
и bboxB
. Функция возвращает overlapRatio
значение между 0
и 1
, где 1
подразумевает идеальное перекрытие.
Кроме того, можно задать метод, который будет использоваться для вычисления коэффициента. Вы должны задать overlapRatio
= bboxOverlapRatio(bboxA
,bboxB
,ratioType
)ratioType
к любому из 'Union'
или 'Min'
.
Задайте два ограничивающих прямоугольника в формате [x y width height].
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
- Ограничительный прямоугольникОграничительные прямоугольники, заданные как M -by-4 или M -by-5, не анализируют числовую матрицу. M - количество ограничивающих рамок. Каждая строка матрицы определяет ограничивающий прямоугольник как выровненный по оси прямоугольник или повернутый прямоугольник. В этой таблице описывается формат для каждого ограничивающего прямоугольника.
Ограничительный прямоугольник | Ряд | Описание |
---|---|---|
Выровненный по оси прямоугольник | [x мин, y мин, width, height] | Этот тип ограничивающего прямоугольника определяется в пиксельных координатах как матрица M-на-4, представляющая M ограничивающих прямоугольника |
Повернутый прямоугольник | [x центр, центр y, width, height, yaw] | Этот тип ограничивающего прямоугольника определяется в пространственных координатах как матрица M-на-5, представляющая M ограничивающих прямоугольника. Координаты центра и x y представляют центр ограничивающего прямоугольника. Элементы width и height представляют длину куба вдоль осей x и y, соответственно. Этот yaw представляет угол поворота в степенях. Величина поворота вокруг центра ограничивающего прямоугольника измеряется в направлении по часовой стрелке. |
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
bboxB
- Ограничительный прямоугольникОграничительные прямоугольники, заданные как M -by-4 или M -by-5, не анализируют числовую матрицу. M - количество ограничивающих рамок. Каждая строка M матрицы определяет ограничивающий прямоугольник как выровненный по оси прямоугольник или повернутый прямоугольник. В этой таблице описывается формат для каждого ограничивающего прямоугольника.
Ограничительный прямоугольник | Ряд | Описание |
---|---|---|
Выровненный по оси прямоугольник | [x мин, y мин, width, height] | Этот тип ограничивающего прямоугольника определяется в пиксельных координатах как матрица M-на-4, представляющая M ограничивающих прямоугольника |
Повернутый прямоугольник | [x центр, центр y, width, height, yaw] | Этот тип ограничивающего прямоугольника определяется в пространственных координатах как матрица M-на-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
Указания и ограничения по применению:
Генерация кода не поддерживается для входных входов повернутого прямоугольника.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.