文章目录
- 前言
- 一、遇到问题
- 二、排查问题
- 1.分析问题
- 2.验证问题
- 2.1对比两者,格式是一致的,唯一不同之处是imagePath 不一样,labelme 生成的是图片的名称,不包含路径;而自动生成的是完整路径的图片名称。
- 2.2再次思考两者的不同点,查看两者的空白显示是否一致
- 2.3 路径导致的
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
今天使用LabelMe 打开生成的标签文件,一直提示 “打开文件发生错误”。
提示:以下是本篇文章正文内容,下面案例可供参考
一、遇到问题
二、排查问题
1.分析问题
一般出现类似的问题,首先考虑是生成的标注文件是否和labelme 软件生成的文件格式是否一致。
2.验证问题
2.1对比两者,格式是一致的,唯一不同之处是imagePath 不一样,labelme 生成的是图片的名称,不包含路径;而自动生成的是完整路径的图片名称。
将自动生成的标签文件路径改成只有图片名称。测试问题依然存在,排除暂时排除路径问题。
2.2再次思考两者的不同点,查看两者的空白显示是否一致
对比两者缩进和换行符不一致,修改成一致后,测试还是不对。
CRLF 和 LF 是两种不同的换行符号:
1. CRLF(Carriage Return Line Feed)是回车换行符,在ASCII码中用十进制表示为13, 10,即 `\r\n` 。在Windows操作系统中,文本文件的换行符通常是CRLF,即回车换行符。
2. LF(Line Feed)是换行符,在ASCII码中用十进制表示为10,即 `\n` 。在类Unix系统(如Linux、macOS等)中,文本文件的换行符通常是LF,即换行符。
在不同的操作系统和应用程序中,对换行符的处理方式可能会有所不同。因此,当在不同系统间传输文本文件时,可能会遇到换行符不一致的问题。
dos2uinx地址
将dos2uinx 的目录添加到系统环境,需要重启生效
cd 到需要转换的目录下
for /R %G in (*.json) do unix2dos "%G"
2.3 路径导致的
从最开始去除路径的问题,到再次回归到路径的问题。原因在于第一次labelme 软件生成的标签文件是和图片在同一个路径下面的,而自动生成的标签的路径却和图片不在同一个文件夹内。所以即使修改成相同的路径,仍然会报上面的错误。将imagePath 的路径修改成和图片一致后,再次放入到图片的同一个目录下,问题解决。
总结
山穷水尽疑无路,柳暗花明又一村。在实际排查问题的时候,会有许多情况。一一排除后,问题迎刃而解。