欢迎访问宙启技术站
智能推送

使用Python随机生成20个bbox

发布时间:2023-12-26 06:55:37

要使用Python随机生成20个bbox,可以使用random模块生成随机数,并根据bbox的定义范围来生成随机的坐标值。下面是一个使用例子:

import random

# 定义bbox的范围
xmin = 0
ymin = 0
xmax = 100
ymax = 100

# 生成20个随机bbox
bboxes = []
for _ in range(20):
    x = random.randint(xmin, xmax)
    y = random.randint(ymin, ymax)
    w = random.randint(1, xmax - x)
    h = random.randint(1, ymax - y)
    bbox = [x, y, x+w, y+h]
    bboxes.append(bbox)

# 打印生成的bbox
for i, bbox in enumerate(bboxes, 1):
    print(f"bbox {i}: {bbox}")

在上述代码中,我们首先定义了bbox的范围,然后使用random.randint()函数来生成随机的坐标值。其中,xminymin分别表示bbox的左上角的x和y坐标的最小值,xmaxymax则表示bbox的右下角的x和y坐标的最大值。接着,我们使用random.randint()生成随机的宽度和高度,保证生成的bbox大小合理。最后,我们使用列表bboxes来保存生成的bbox,并使用enumerate()函数来给每个bbox添加编号并打印出来。

以下是运行上述代码的示例输出:

bbox 1: [55, 12, 92, 64]
bbox 2: [18, 21, 35, 47]
bbox 3: [11, 36, 41, 97]
bbox 4: [22, 70, 94, 92]
bbox 5: [2, 90, 24, 96]
bbox 6: [92, 22, 100, 51]
bbox 7: [85, 11, 93, 28]
bbox 8: [19, 50, 48, 87]
bbox 9: [5, 19, 68, 60]
bbox 10: [38, 30, 47, 65]
bbox 11: [44, 90, 45, 91]
bbox 12: [25, 64, 94, 81]
bbox 13: [13, 21, 17, 34]
bbox 14: [81, 73, 85, 100]
bbox 15: [15, 83, 18, 90]
bbox 16: [7, 32, 65, 72]
bbox 17: [27, 14, 46, 91]
bbox 18: [12, 75, 39, 83]
bbox 19: [33, 3, 42, 75]
bbox 20: [1, 14, 57, 85]

上述代码是一个简单的随机生成bbox的例子,你可以根据实际需求定义不同的bbox范围和生成规则。