Struct Keyframe

Struct Documentation

struct Keyframe

Keyframe: one processed image (or stereo pair) with associated pose, detected features, and optional IMU data.

The frame type (MONO / STEREO / RGBD) determines which image fields are valid.

Public Types

enum class Type

Values:

enumerator MONO
enumerator STEREO
enumerator RGBD
using Ptr = std::shared_ptr<Keyframe>

Public Members

Type type = Type::MONO
int id = -1
mrpt::Clock::time_point timestamp = {}
mrpt::img::CImage image

Left/gray image (grayscale, CH_GRAY).

mrpt::img::CImage image_right

Right image (STEREO only).

mrpt::img::CImage depth_image

Depth map in float meters (RGBD only).

mrpt::img::TCamera camera

Camera intrinsics + distortion.

double baseline = 0.0

Stereo baseline (m); 0 for MONO/RGBD.

mrpt::poses::CPose3D pose_world_camera

Estimated camera pose in world frame.

bool pose_valid = false
Eigen::Vector3f velocity = Eigen::Vector3f::Zero()
Eigen::Vector3f gyro_bias = Eigen::Vector3f::Zero()
Eigen::Vector3f accel_bias = Eigen::Vector3f::Zero()
std::vector<Feature> features
std::vector<ImuMeasurement> imu_measurements
std::weak_ptr<Keyframe> ref_keyframe
mrpt::poses::CPose3D pose_relative_to_ref

pose = ref_pose ⊕ pose_relative_to_ref

bool is_keyframe = false

true only for selected keyframes (not every frame)