【问题标题】:opencv python/Bounding boxesopencv python/边界框
【发布时间】:2021-10-20 03:49:18
【问题描述】:

我正在尝试寻找一种解决方案,为轮廓周围已经有一个矩形的所有小对象创建一个边界框,然后裁剪大边界框。由于附上了照片,我需要找到红色矩形。

【问题讨论】:

  • 如果每个矩形都有坐标(x1,y1,x2,y2) 那么你可以使用min(all_x1), min(all_y1), max(all_x2), max(all_y2) 来获取这个框的坐标。但我认为cv2对此有特殊的作用。

标签: python opencv contour


【解决方案1】:

我认为opencv 可能有这个功能,但我不记得名字了。

但即使没有opencv,您也可以使用min() max()找到它
获取min(all_x1)min(all_y1)max(all_x2)max(all_y2)


如果你有矩形[x1,y1,x2,y2]

rects = [
    [10, 20, 40, 30],
    [20, 10, 30, 40],
]

x1 = min(r[0] for r in rects)
y1 = min(r[1] for r in rects)
x2 = max(r[2] for r in rects)
y2 = max(r[3] for r in rects)

print(x1, y1, x2, y2)

如果你有矩形[x,y,width,height]

rects = [
    [10, 20, 30, 10],
    [20, 10, 10, 30],
]

x1 = min(r[0] for r in rects)
y1 = min(r[1] for r in rects)
x2 = max(r[0]+r[2] for r in rects)
y2 = max(r[1]+r[3] for r in rects)

print(x1, y1, x2, y2)

【讨论】:

    猜你喜欢
    • 2013-01-21
    • 1970-01-01
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 2015-07-13
    • 2020-07-22
    相关资源
    最近更新 更多