参考下面这篇文章
GitHub - AtriSaxena/OIDv4_to_VOC
克隆库
git clone https://github.com/AtriSaxena/OIDv4_to_VOC.git
安装requirement.txt
pip3 install -r requirements.txt
查看使用函数所需参数配置
python3 OIDv4_to_VOC.py -h
给出源路径和目标路径
└───Apple
|0fdea8a716155a8e.jpg
|2fe4f21e409f0a56.jpg
|...
└───Labels
|0fdea8a716155a8e.txt
|2fe4f21e409f0a56.txt
|...
python OIDv4_to_VOC.py --sourcepath Dataset/train/Apple --dest_path Dataset/train/Annotation/Apple
将指令打包放在一个txt中转为bat运行,省得还要等在旁边一次次的修改命令重新运行,要注意这个bat文件的存放位置应为终端运行这个命令的位置,比如这里就放在validation的根文件下,也就是和validation同级
目标路径不会自动生成,需自行添加(我运行的时候是这样,需要自己新建所需文件夹)
import os
if __name__ == '__main__':
input_folder = r"E:\study\OIDv4_ToolKit\OID\Dataset\validation"
filelist = os.listdir(input_folder)
annotation = r"E:\study\OIDv4_ToolKit\OID\Dataset\validation\Annotation"
os.makedirs(annotation, exist_ok=True)
for file in filelist:
print(file)
output_folder = os.path.join(annotation,file)
print(output_folder)
os.makedirs(output_folder, exist_ok=True) # 创建输出文件夹,如果已经存在则不会报错
得到annotation即其子文件夹