首页 > 解决方案 > 如何使用python从文本文件中的边界框值创建二进制掩码

问题描述

我想从文本 Yolo 格式的边界框值创建一个二进制掩码,我该怎么做?我正在执行以下代码如果有人知道,请这是我的带有类标签和边界框坐标的文本文件

0 0.754792 0.063983 0.000833 0.002157
0 0.756042 0.064162 0.000833 0.001797
0 0.756354 0.068835 0.001042 0.001797
0 0.753229 0.068116 0.001458 0.003235
txt_file = open('/content/dataset/April 2019.txt', "r")
lines = txt_file.read().splitlines()  
img = cv2.imread('/content/dataset/April 2019.jpg') 
for idx, line in enumerate(lines):
  value = line.split()
  x=y=w=h=cls= None
  cls = value[0]
  x = float(value[1])
  y = float(value[2])
  w = float(value[3])
  h = float(value[4])
  x=round(x)
  y=round(y)
  w=round(w)
  h=round(h)
  print(x,y,w,h)
  mask = np.zeros((img.shape[0],img.shape[1]),dtype=np.uint8) # initialize mask
  mask[x:y,w:h] = 255 # fill with white pixels
cv2.imwrite('image1_mask.png',mask)

标签: pythonimage-processingannotationsyoloopencv-python

解决方案


推荐阅读