The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

external/slam: Improve cam_calibration feature struct

+16 -11
+16 -11
src/external/slam_tracker/slam_tracker.hpp
··· 27 27 28 28 // For implementation: same as IMPLEMENTATION_VERSION_* 29 29 // For user: expected IMPLEMENTATION_VERSION_*. Should be checked in runtime. 30 - constexpr int HEADER_VERSION_MAJOR = 2; //!< API Breakages 30 + constexpr int HEADER_VERSION_MAJOR = 3; //!< API Breakages 31 31 constexpr int HEADER_VERSION_MINOR = 0; //!< Backwards compatible API changes 32 32 constexpr int HEADER_VERSION_PATCH = 0; //!< Backw. comp. .h-implemented changes 33 33 ··· 185 185 constexpr int FID_##SHORT_NAME = ID; \ 186 186 constexpr int F_##NAME = ID; 187 187 188 + /*! 189 + * Container of parameters for a pinhole camera calibration (fx, fy, cx, cy) 190 + * with an optional distortion. 191 + * 192 + *`distortion_model` and its corresponding `distortion` parameters are not 193 + * standardized in this struct to facilitate implementation prototyping. 194 + */ 188 195 struct cam_calibration { 189 - enum class cam_model { pinhole, fisheye }; 190 - 191 196 int cam_index; //!< For multi-camera setups. For stereo 0 ~ left, 1 ~ right. 192 - int width, height; //<! Resolution 193 - double frequency; //<! Frames per second 194 - double fx, fy; //<! Focal point 195 - double cx, cy; //<! Principal point 196 - cam_model model; 197 - std::vector<double> model_params; 198 - cv::Matx<double, 4, 4> T_cam_imu; //!< Transformation from camera to imu space 197 + int width, height; //<! Resolution 198 + double frequency; //<! Frames per second 199 + double fx, fy; //<! Focal point 200 + double cx, cy; //<! Principal point 201 + std::string distortion_model; //!< Models like: none, rt4, rt5, rt8, kb4 202 + std::vector<double> distortion; //!< Parameters for the distortion_model 203 + cv::Matx<double, 4, 4> t_imu_cam; //!< Transformation from IMU to camera 199 204 }; 200 205 201 206 struct inertial_calibration { ··· 204 209 //! This transform will be applied to raw measurements. 205 210 cv::Matx<double, 3, 3> transform; 206 211 207 - //! Offset to apply to raw measurements to; called bias in other contexts. 212 + //! Offset to add to raw measurements to; called bias in other contexts. 208 213 cv::Matx<double, 3, 1> offset; 209 214 210 215 // Parameters for the random processes that model this IMU. See section "2.1