Оптимизация поиска пересекающихся кругов - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть список окружностей (точки и размера) на изображении. my current image output

Моя цель - определить области, где много кругов (мы можем видеть три на примере изображения). Моя текущая реализация просто проходит все круги и проверяет все круги, пересекаются ли они. Затем я решаю выбрать круги, которые пересекают более 60 других кругов.

def circleCrossing(pt1,pt2, r1, r2): 
distSq = (pt1[0] - pt2[0])**2 + (pt1[1] - pt2[1])**2;  
radSumSq = (r1 + r2) * (r1 + r2);
if (distSq <= radSumSq): 
    return True
else: 
    return False

Проблема в том, что это слишком медленно, потому что есть 1000 кругов (1 кадр в секунду). Есть ли лучший способ найти эти области?

Цель проекта - определить рыб, круги - результат алгоритма обнаружения движения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...