解决了在 ROS melodic / noetic 下 cv_bridge 与 opencv4 版本冲突导致的 opencv 操作 导致 Segmentation fault (core dumped) 的问题。
问题描述
在 ubuntu18.04 ROS melodic 下整理好 ORBSLAM3 ROS 功能包后,编译通过,但是运行节点时出现段错误:Segmentation fault (core dumped)
。
发现错误发生在使用 opencv4 的 cv::FileStorage 读取 yaml 文件处,而这个错误在运行非 ROS 版本的 ORBSLAM3 程序时并不会发生。
即以下代码无法执行:
cv::FileStorage fsSetting("yaml文件路径", cv::FileStorage::READ);
if(!fsSettings.isOpened()){
cerr << "Failed to open settings file at: " << path << endl;
exit(-