Introduction
aslam_cv2
库是ETHZ ASL团队开源的一个计算机视觉库,主要针对常用的一些算法和数据结构进行了封装。为了提升算法的速度和鲁邦性,用了比较多工程上的技巧,并对一些paper中的算法进行了实现。
Code Structure
aslam_cv_cameras
cameras主要针对不同的camera model和distortion model进行了封装,使用工厂的设计模式进行实现,后续的一些算法和数据结构主要基于此模型库开发,是整个库的核心部分。
aslam_cv_calibration
calibration模块主要对相机标定的算法进行了封装,包括target observation、focallength初始化、estimate transformation等。
aslam_cv_common
common模块主要针对其他模块使用的数据结构、宏定义、base function进行了定义。
aslam_cv_detector
detector模块主要封装了两个detector算法:LSD(line segement detector)和
KAZE
aslam_cv_frames
frames模块主要对视觉算法中的关键帧的数据结构进行了封装。
aslam_cv_geometric_vision
geometric_vision模块包含match outliter rejection based on ransac和pnp pose estimator。
aslam_cv_matcher
matcher模块主要包含了keypoint的匹配算法。
aslam_cv_pipline
pipline模块主要对undistort算法进行了实现
aslam_cv_tracker
tracker模块主要针对视觉特征点的追踪和管理进行了模块化
aslam_cv_triangulation
该模块主要针对视觉算法中的三角化进行了实现
aslam_cv_visualization
visualization模块主要提供一些可视化的工具