template<typename Scalar> struct featureTrack { size_t feature_id{}; std::vector<Vector2<Scalar>, Eigen::aligned_allocator<Vector2<Scalar>>> observations; std::vector<size_t> cam_state_indices; // state_ids of cam states corresponding to observations bool initialized = false; Vector3<Scalar> p_f_G; };
时间: 2024-04-27 10:21:39 浏览: 136
std::vector类模板
这是一个模板类结构体 `featureTrack`,用于表示计算机视觉中的特征点轨迹。该结构体包含了五个成员变量:
- `feature_id`: 特征点的 ID。
- `observations`: 特征点在不同相机状态下的观测,类型为 `std::vector<Vector2<Scalar>, Eigen::aligned_allocator<Vector2<Scalar>>>`,其中 `Scalar` 是一个可替换的类型参数,用于指定向量的元素类型。
- `cam_state_indices`: 特征点在 `observations` 中对应的相机状态的 ID,类型为 `std::vector<size_t>`。
- `initialized`: 特征点轨迹是否已经初始化,类型为 `bool`。
- `p_f_G`: 特征点在世界坐标系下的位置,类型为 `Vector3<Scalar>`。
该结构体使用了 `Eigen::aligned_allocator` 进行内存分配,从而提高程序的性能,特别是对于需要频繁进行数学运算的应用程序。它提供了一种方便的方式来存储特征点的观测以及特征点在世界坐标系下的位置,并且可以方便地与相应的相机状态进行关联。
阅读全文