回环检测字典保存问题
在高翔slam14讲中,第一段参考程序是用来通过训练已有数据集得到图像的字典,最后有一句程序为
vocab.save("vocabulary.yml.gz");
在运行程序时报错“Program received signal SIGSEGV (Segmentation fault)”,意思是段错误(有多种原因:访问受保护的内存、不存在的内存等)。
在网上查了一下午,尝试了各种方法,尝试了gdb调试、检查程序中指针、向量使用是否错误等一系列方法,最终没有解决。
在迷茫之际,我感觉保存的文件名有点奇怪尝试将程序改为
vocab.save("vocabulary.gz");
程序就不报错了。通过运行图片相似度计算,调用字典,没有报错,程序运行正常。
若有大佬知道为什么这样操作后就能运行,还望指教一下!