VisualFrame是maplab中存储一张相片以及相关信息的结构。
信息包括:
- 拍摄这张图片的相机参数
- Camera::ConstPtr camera_geometry_:3d点到畸变校正后的kp的转换
- Camera::ConstPtr raw_camera_geometry_:3d点到畸变校正前的kp的转换,也就是要考虑畸变矫正
- 时间戳
- int64_t timestamp_nanoseconds_
- 帧号
- aslam::FrameId id_
- 是否有效
- bool is_valid_
- 帧相关数据
- aslam::channels::ChannelGroup channels_
- ChannelGroup相关的信息见另外一篇文章
- KeypointMeasurements:Eigen::Matrix2Xd (2×N)
- NumKeypointMeasurements:size_t
- KeypointMeasurementUncertainties:Eigen::VectorXd
- KeypointOrientations:Eigen::VectorXd
- KeypointScores:Eigen::VectorXd
- KeypointScales:Eigen::VectorXd
- Descriptors:DescriptorsT
- DescriptorsT: Eigen::Matrix<unsigned char, Eigen::Dynamic, Eigen::Dynamic>
- 一个col为一个描述符
- TrackIds:Eigen::VectorXi
- 长度和kp个数一致,没有track的kp对应-1
- RawImage:cv::Mat
- aslam::channels::ChannelGroup channels_
功能函数:
- discardUntrackedObservations
- createEmptyTestVisualFrame
- getDescriptorSizeBytes
- getTimestampNanoseconds
- getNormalizedBearingVectors
- 得到一系列kp对应的射线
- toRawImageCoordinatesVectorized
- 把多个图像坐标转换到原始图片的坐标系上
- toRawImageCoordinates
- 把一个图像坐标转换到原始图片的坐标系上
- getKeypointInRawImageCoordinates
- 得到一个kp的raw图片的坐标