问题背景:我有六张jpg图片和其对应的六个json文件作为自己的数据集,其中第3、4张jpg图片和第其对应的第3、4个json文件在保存时文件名中包含了中文,我在运行代码前已通过重命名的方式将文件名中的中文删除,文件名中也不存在特殊字符。现在我需要将这个数据集由json格式转换为voc格式,我参考了:https://blog.csdn.net/brf_UCAS/article/details/112383547?%ra=title这篇文章的方法。前面的第1、2步修改 json_to_dataset.py文件和 label.py 文件我没有做,直接从第三步开始。于是在配置好基本的环境以及按照参考文章的要求准备好data_annotated 文件夹和 labels.txt文件后,我下载了labelme2voc.py的代码。
问题描述:在运行lableme2voc.py时,前面的第1、2张图片和其对应的第1、2个json文件完全转换正常,一到第3张图片就开始报错,报错内容:
根据报错内容显示,第3个文件路径出现问题,报错内容后面显示的文件路径是修改前的含中文和特殊字符的文件名,但是我明明已经通过重命名的方式将文件名中的中文和特殊字符全部删除了。后来我尝试了删掉第3个文件,同样的运行到第4个文件时出现一样的报错。最后我尝试了将第3、4张jpg图片和第其对应的第3、4个json文件全部删除,这样的话数据集里面剩下的文件都是文件名中原始就不包含中文和特殊字符的4个文件(没有经过重命名对文件名进行修改),运行labelme2voc.py文件时这4个文件的数据格式转换成功。
疑问:为什么我已经将文件名中的中文和特殊字符通过重命名的方式删除,但是运行labelme2voc.py代码时还是会按照没修改前的包含中文的文件名来打开导致报错?