如何计算特定区域中的对象数?

时间:2019-06-12 10:00:52

标签: python opencv

我正在进行车辆检测,我使用Yolo进行车辆的检测和跟踪,现在我想计算特定区域中检测到的车辆的数量,在要计数的矩形上绘制矩形:

    cv2.rectangle(image, point, (point[0] + 200, point[1] + 120), (0, 0, 255), 0)

,检测到的车辆被矩形包围。 我想以一种简单的方式来计算大矩形中包含的矩形数量

1 个答案:

答案 0 :(得分:0)

我只计算检测矩形与要计算数量的矩形的交点。

    from collections import namedtuple
    Rectangle = namedtuple('Rectangle', 'xmin ymin xmax ymax')  
    def intersection(a, b):  # a and b are the 2 rectangle
    dx = min(a.xmax, b.xmax) - max(a.xmin, b.xmin)
    dy = min(a.ymax, b.ymax) - max(a.ymin, b.ymin)
    if (dx>=0) and (dy>=0):
       return dx*dy

如果结果> 0,则表示两个矩形之间存在相交。