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

用Python生成20个 边界框(unique_boxes)的数据集

发布时间:2023-12-11 04:29:43

生成 边界框的数据集可以使用Python中的random模块。以下是一个示例代码,生成了20个 的边界框数据:

import random

def generate_unique_boxes(num_boxes):
    unique_boxes = []
    while len(unique_boxes) < num_boxes:
        x_min = random.randint(0, 100)
        y_min = random.randint(0, 100)
        width = random.randint(1, 100-x_min)
        height = random.randint(1, 100-y_min)
        box = (x_min, y_min, width, height)
        # 检查是否      
        if box not in unique_boxes:
            unique_boxes.append(box)
    return unique_boxes

# 生成20个      边界框
unique_boxes = generate_unique_boxes(20)

# 打印结果
for box in unique_boxes:
    print(box)

在上面的代码中,generate_unique_boxes函数使用了random.randint来生成随机的x_min、y_min、width和height,确保边界框在0到100之间,并且width和height不为0。然后,检查生成的边界框是否已存在于unique_boxes列表中,如果不存在,则将其添加到列表中。

生成的边界框存储在unique_boxes列表中,并通过循环遍历打印出来。

以下是代码的输出示例:

(5, 80, 49, 8)
(48, 47, 48, 51)
(41, 52, 2, 38)
(1, 20, 50, 48)
(62, 54, 34, 8)
(24, 33, 39, 31)
(55, 96, 26, 3)
(11, 41, 57, 25)
(59, 28, 34, 69)
(56, 59, 40, 38)
(93, 51, 2, 8)
(17, 80, 74, 7)
(75, 33, 6, 30)
(26, 16, 70, 17)
(70, 38, 29, 62)
(57, 71, 8, 5)
(18, 7, 35, 84)
(23, 15, 39, 78)
(10, 15, 56, 79)
(75, 68, 21, 32)

以上是一个简单的示例,您可以根据实际需求进行修改和扩展。希望对您有帮助!