对于自己数据集需要对其进行labelImg对其进行标注。(这个部分在其他地方会有很多描述)
这里主要叙述将csv数据格式转为xml格式
# .csv-->.xml
# ! /usr/bin/python
# -*- coding:UTF-8 -*-
import os, sys
import glob
from PIL import Image
import csv
import os
import numpy as np
import random
import requests
# VEDAI 图像存储位置
src_img_dir = "F:/小麦比赛/yolov3-master/data/JPEGImages"
# VEDAI 图像的 ground truth 的 txt 文件存放位置
#src_txt_dir = "F:/小麦比赛/yolov3-master/data/labels"
#src_xml_dir = "F:/小麦比赛/yolov3-master/data/labels"
'''
path = "C:/Users/32345/Desktop/YOLOv3_pytorch-master/data/train.csv"
def read_data_csv(path):
birth_data = []
with open(path, encoding="utf-8") as csvfile:
csv_reader = csv.reader(csvfile) # 使用csv.reader读取csvfile中的文件
birth_header = next(csv_reader) # 读取第一行每一列的标题
for row in csv_reader: # 将csv 文件中的数据保存到birth_data中
birth_data.append(row)
return birth_data
a=read_data_csv(path)
print(a)
'''
img_Lists = glob.glob(src_img_dir + '/*.jpg')
#print(src_img_dir)
# read csv 1 without width and height
file_path = "C:/Users/32345/Desktop/YOLOv3_pytorch-master/data/train.csv"
with open(file_path) as csvfile:
csv_reader = csv.reader(csvfile) # 使用csv.reader读取csvfile中的文件
birth_header = next(csv_reader) # 读取第一行每一列的标题,birth_header为excel头标
#print(birth_header)
#print(csv_reader)
count = 0
img_pre = ''
#bbox = ""
flag = 0
#print(row[3])
for row in csv_reader: # 将csv 文件中的数据保存到birth_data中
#print(row[3])
#len(row[3])
#print(type(row))
#first
#print(row[8])
if flag == 0:
img_pre = row[0].split('.')[0]
#print(img_pre)
#width = row[1].split('.')[1]
#print(str(imga_pre))
flag = 1
xml_file = open(('F:/小麦比赛/yolov3-master/data/A