Computer vision 如何将yolo darknet格式转换为.csv文件
我有一些最初是YOLO格式的注释。我需要将其转换为yolo csv格式,以便使用我的变形金刚模型进行训练。 我需要的.csv文件示例: csv属性包括:图像id、宽度、高度和图像边界框的坐标。Computer vision 如何将yolo darknet格式转换为.csv文件,computer-vision,pytorch,object-detection,detection,yolo,Computer Vision,Pytorch,Object Detection,Detection,Yolo,我有一些最初是YOLO格式的注释。我需要将其转换为yolo csv格式,以便使用我的变形金刚模型进行训练。 我需要的.csv文件示例: csv属性包括:图像id、宽度、高度和图像边界框的坐标。 任何帮助都将不胜感激 首先,我应该说,没有直接的方法将这些格式转换为csv。您应该读取文件并解析它们的数据 步骤1:导入库 我们需要从目录中读取txt文件(yolo标签),并将其保存到csv中。因此,我们需要这些库: import os import glob import pandas as pd i
任何帮助都将不胜感激 首先,我应该说,没有直接的方法将这些格式转换为csv。您应该读取文件并解析它们的数据 步骤1:导入库 我们需要从目录中读取txt文件(yolo标签),并将其保存到csv中。因此,我们需要这些库:
import os
import glob
import pandas as pd
import numpy as np
步骤2:获取您的YLO标签列表
用OS
库打开yolo标签所在的目录,用glob
读取txt文件:
os.chdir(r'D:\karami\Labeled\train1\labels')
myFiles = glob.glob('*.txt')
我的标签在我的标签文件夹中,所以我将该目录设置为该目录
步骤3:读取行和分割数据
在myFiles变量中有标签列表
您应该对它进行迭代,读取每个文件的第一行并拆分其数据。
在您共享的图像中,我们有边界框的绝对坐标。根据yolo darknet文件,我们有:
对象类x_中心y_中心宽度高度
x_中心、y_中心、宽度、高度-相对于宽度和高度的浮动值
图像的高度,可以在(0.0到1.0)之间相等,例如:=
所以我们需要将坐标乘以图像的宽度和高度
yolo文件不包含图像大小,所以您应该在创建之前定义它们
然后使用拆分的字符串。然后保存数据帧。代码:
width=1024
height=1024
image_id=0
final_df=[]
for item in myFiles:
row=[]
bbox_temp=[]
with open(item, 'rt') as fd:
first_line = fd.readline()
splited = first_line.split();
row.append(image_id)
row.append(width)
row.append(height)
try:
bbox_temp.append(float(splited[1])*width)
bbox_temp.append(float(splited[2])*height)
bbox_temp.append(float(splited[3])*width)
bbox_temp.append(float(splited[4])*height)
row.append(bbox_temp)
final_df.append(row)
except:
print("file is not in YOLO format!")
df = pd.DataFrame(final_df,columns=['image_id', 'width', 'height','bbox'])
df.to_csv("saved.csv",index=False)
这是我的csv文件:
这对@Markus Khoa有帮助吗?