如何解决将.csv文件转换为yolo darknet格式
我有一些最初是.csv格式的注释。我需要将其转换为yolo darknet格式,以便使用yolov4训练我的模型。
YOLO格式为:对象类x y宽度高度
从我的.csv格式知道object_class,widht,height。但是找到x,y会令人困惑。请注意,x和y是矩形的中心(不是左上角)。
任何帮助将不胜感激:)
解决方法
您可以使用此功能将边界框转换为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,h
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。