Как рассчитать пересечение по объединению для более чем двух ограничительных рамок? - PullRequest
0 голосов
/ 07 декабря 2018

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

Я пробовал это с двумя ограничивающими рамками

def intersection_over_union(self,image,humanRegion_bbs, belongings_bbs):
    """
    Calculate overlap between two bounding boxes [x, y, w, h] as
    the area of intersection over the area of unity
    """
    if len(humanRegion_bbs)== 4 and len(belongings_bbs) == 4 :
        x1, y1, w1, h1 = (humanRegion_bbs[0], humanRegion_bbs[1],
                          humanRegion_bbs[2], humanRegion_bbs[3])
        x2, y2, w2, h2 = (belongings_bbs[0], belongings_bbs[1],
                          belongings_bbs[2], belongings_bbs[3])
        w_I = min(x1 + w1, x2 + w2) - max(x1, x2)
        h_I = min(y1 + h1, y2 + h2) - max(y1, y2)
        if w_I <= 0 or h_I <= 0:  # no overlap
            return 0
        intersection_area = w_I * h_I
        union = w1 * h1 + w2 * h2 - intersection_area
        # intersection over union
        iou = intersection_area / union
        return iou

Я хочу проверить пересечениечерез объединение между humanRegion_bbs и массивом belongings_bbs.Массив belongings_bbs имеет длину 4.

Как мне решить эту проблему?

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