Не макс подавление на кругах

Я обнаружил объекты, используя ограничивающие круги. Как мне выполнить не максимальное подавление? У меня есть и прямоугольники, и круги, и как-то я хочу отделить круги от кругов и прямоугольники от прямоугольников. Я уже пытался использовать не-максимальное подавление для прямоугольников, но я не понимаю, как сделать то же самое для кругов.

2 ответа

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

То, что вы можете сделать, это подавление не-max на прямоугольниках, и после того, как вы найдете правильный ограничивающий прямоугольник, вы можете выбрать среднюю точку каждой из сторон прямоугольника и нарисовать круг / эллипс внутри этого прямоугольника, который проходит через выбранные 4 точки (у вас есть 2 оси эллипса).

Мне пришлось решить аналогичную проблему в недавнем прошлом. Все, что я сделал, это нарисовал воображаемый квадрат по окружности круга, а затем я применил немакс-подавление к квадрату на основе перекрытия областей. Вы можете найти код по адресу: https://github.com/Amanpradhan/Non-Max-Suppression