问题描述
在运行ORB_SLAM3的Example时,我使用euroc数据集,跑example例程;可以保证,我的路径没有问题,并且txt和数据集里的.png文件也是对应的,数据集中的png文件也能正常打开,但是我在运行时总是提示我读取文件失败:
./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./datasets/V201 ./Examples/Monocular/EuRoC_TimeStamps/V201.txt
这里输出的png格式显示就有问题,不知道为什么!!
问题原因
笔者的虚拟机下载不了ORB_SLAM3,所以是在Windows中下载,再拖到虚拟机上的
Ubuntu与Windows的.txt文件有以下不同:
- 文本编码:Windows默认使用ANSI编码,而Ubuntu默认使用UTF-8编码。这可能导致在跨平台使用时,一些特殊字符的显示有所不同。
- 文件行尾标志:Windows使用回车符和换行符(\r\n)作为行尾标志,而Ubuntu使用换行符(\n)作为行尾标志。这可能导致在不同平台上打开同一个txt文件时,换行符的显示方式有所不同
分析报错,发现png路径输出显示异常,最初怀疑是路径太长的原因,后来发现跟路径长度没有关系;那么有可能是在Windows下载的.txt
放到Ubunutu后无法正确读取了。
Vocabulary.txt
没有出问题,是因为这个文件是在Ubuntu解压的
解决办法
直接复制文本文件,然后新建一个.txt
后粘贴即可
应该有批量处理的方法,但是笔者没有调查