Thanks for sharing such a good work. And now I'm practicing it.
After I had built it, I follow steps mentioned in readme:
Download the kitti seq (2011_09_26_drive_0001 synced+rectified) from here
cd DynSLAM/build
./DynSLAMGUI --dataset_root=/data/kitti_raw_data_seq/2011_09_26/2011_09_26_drive_0001_sync
root@milton-OptiPlex-9010:/data/code/DynSLAM/build# ./DynSLAMGUI --dataset_root=/data/kitti_raw_data_seq/2011_09_26/2011_09_26_drive_0001_sync
terminate called after throwing an instance of 'std::runtime_error'
what(): Could not open calibration file: [/data/kitti_raw_data_seq/2011_09_26/2011_09_26_drive_0001_sync/calib.txt]
Stack trace (most recent call last):
#11 Object ", at 0xffffffffffffffff, in
#10 Object "./DynSLAMGUI, at 0x452e56, in _start
#9 Source "/build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c", line 287, in __libc_start_main [0x7f9bb7c9af44]
#8 Source "/data/code/DynSLAM/src/DynSLAM/DynSLAMGUI.cpp", line 1307, in main [0x44d71d]
1305: dynslam::DynSlam *dyn_slam;
1306: dynslam::Input *input;
>1307: BuildDynSlamKittiOdometry(dataset_root, &dyn_slam, &input);
1308:
1309: dynslam::gui::PangolinGui pango_gui(dyn_slam, input);
1310: pango_gui.Run();
#7 Source "/data/code/DynSLAM/src/DynSLAM/DynSLAMGUI.cpp", line 1163, in dynslam::BuildDynSlamKittiOdometry(std::string const&, dynslam::DynSlam**, dynslam::Input**) [0x48bdcd]
1160: // HERE BE DRAGONS Make sure you're using the correct matrix for the grayscale and/or color cameras!
1161: ReadKittiOdometryCalibration(dataset_root + "/" + input_config.calibration_fname,
1162: left_gray_proj, right_gray_proj, left_color_proj, right_color_proj,
>1163: velo_to_left_gray_cam, downscale_factor);
1164:
1165: Eigen::Vector2i frame_size = GetFrameSize(dataset_root, input_config);
#6 Source "/data/code/DynSLAM/src/DynSLAM/DynSLAMGUI.cpp", line 1061, in dynslam::ReadKittiOdometryCalibration(std::string const&, Eigen::Matrix<double, 3, 4, 0, 3, 4>&, Eigen::Matrix<double, 3, 4, 0, 3, 4>&, Eigen::Matrix<double, 3, 4, 0, 3, 4>&, Eigen::Matrix<double, 3, 4, 0, 3, 4>&, Eigen::Matrix<double, 4, 4, 0, 4, 4>&, double) [0x48ba1a]
1058: static const string kRightColor = "P3:";
1059: ifstream in(fpath);
1060: if (! in.is_open()) {
>1061: throw runtime_error(utils::Format("Could not open calibration file: [%s]", fpath.c_str()));
1062: }
1063:
1064: left_gray_proj = ReadProjection(kLeftGray, in, downscale_factor);
#5 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6, at 0x7f9bb82bedf7, in __cxa_throw
#4 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6, at 0x7f9bb82bebe0, in std::terminate()
#3 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6, at 0x7f9bb82beb95, in std::rethrow_exception(std::__exception_ptr::exception_ptr)
#2 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6, at 0x7f9bb82c0bbc, in __gnu_cxx::__verbose_terminate_handler()
#1 Source "/build/eglibc-oGUzwX/eglibc-2.19/stdlib/abort.c", line 89, in __GI_abort [0x7f9bb7cb3027]
#0 Source "/build/eglibc-oGUzwX/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c", line 56, in __GI_raise [0x7f9bb7cafc37]
Aborted (Signal sent by tkill() 25334 0)
Aborted (core dumped)
root@milton-OptiPlex-9010:/data/code/DynSLAM/build#
I think that's the location inconsistency problem of calibration file and seg images, it 'll be more helpful if you could upload an example seq for testing, so that we could know the input directory structures for the code.
Thanks!