我有一些最初是.csv格式的注释。为了用yolov4训练我的模型,我需要把它转换成yolo黑网格式。
我的.csv文件:

YOLO格式是:对象类x宽度高度。
哪里,object_class,widht,高度是从我的.csv格式知道的。但是,发现x,y使.Note感到困惑,即x和y是矩形的中心(不是左上角)。
如能提供任何帮助,将不胜感激:)
发布于 2020-10-07 18:35:01
您可以使用此函数将边界框转换为yolo格式。当然,您需要编写一些代码来读取csv。只需将此函数用作满足您需要的模板即可。
这个函数是从labelimg应用程序:https://github.com/tzutalin/labelImg/blob/master/libs/yolo_io.py中提取出来的。
def BndBox2YoloLine(self, box, classList=[]):
xmin = box['xmin']
xmax = box['xmax']
ymin = box['ymin']
ymax = box['ymax']
xcen = float((xmin + xmax)) / 2 / self.imgSize[1]
ycen = float((ymin + ymax)) / 2 / self.imgSize[0]
w = float((xmax - xmin)) / self.imgSize[1]
h = float((ymax - ymin)) / self.imgSize[0]
# PR387
boxName = box['name']
if boxName not in classList:
classList.append(boxName)
classIndex = classList.index(boxName)
return classIndex, xcen, ycen, w, hhttps://stackoverflow.com/questions/64238660
复制相似问题