使用Python随机生成20个独特边界框(unique_boxes)数据集
发布时间:2023-12-11 04:24:03
确定一个边界框需要四个值,即左上角的x和y坐标,以及宽度和高度。我们可以使用Python中的random模块来生成随机的x和y坐标以及宽度和高度。
首先,我们导入random模块,并创建一个空的列表来存储边界框数据集。
import random unique_boxes = []
然后,我们使用一个循环生成20个独特的边界框。在每次迭代中,我们生成随机的x和y坐标以及宽度和高度,并将其添加到边界框列表中。为了确保生成的边界框是独特的,我们在每次迭代之前检查它是否与已经存在的边界框重叠。
while len(unique_boxes) < 20:
x = random.randint(0, 100) # 生成0到100之间的随机x坐标
y = random.randint(0, 100) # 生成0到100之间的随机y坐标
width = random.randint(1, 10) # 生成1到10之间的随机宽度
height = random.randint(1, 10) # 生成1到10之间的随机高度
# 检查边界框是否与已有边界框重叠
overlap = False
for box in unique_boxes:
if (x < box[0] + box[2] and x + width > box[0]
and y < box[1] + box[3] and y + height > box[1]):
overlap = True
break
# 如果边界框不重叠,则添加到数据集中
if not overlap:
unique_boxes.append((x, y, width, height))
最后,我们可以打印生成的边界框数据集,以及一个使用这些边界框的示例。
for i, box in enumerate(unique_boxes):
print(f"边界框 {i+1}:")
print(f"左上角坐标:({box[0]}, {box[1]})")
print(f"宽度和高度:{box[2]}x{box[3]}")
print()
# 使用示例
box1 = unique_boxes[0]
print(f" 个边界框的左上角坐标:({box1[0]}, {box1[1]})")
print(f" 个边界框的宽度和高度:{box1[2]}x{box1[3]}")
这样,我们就使用Python随机生成了一个包含20个独特边界框的数据集,并输出了其中一个边界框的示例。注意,在生成边界框时,我们使用了一个循环来确保生成的边界框是独特的,并且没有重叠。
