载入中...
搜索中...
未找到
dataset.h
浏览该文件的文档.
1
11#pragma once
12#include "camera.h"
13#include "common_include.h"
14#include "config.h"
15#include "map.h"
16
18
26class Dataset {
27public:
28 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
29 typedef std::shared_ptr<Dataset> Ptr;
30
31 Dataset(const Dataset &other) = delete;
32
33 Dataset &operator=(const Dataset &other) = delete;
34
35 virtual Frame::Ptr createFrame() = 0;
36
38
39 virtual ~Dataset() {}
40
41protected:
42 Dataset() = default;
43};
44
49class KITTISet : public Dataset {
50public:
56 static Ptr getInstance() {
57 static Ptr dataset(new KITTISet);
58 return dataset;
59 }
60
61 Frame::Ptr createFrame() override;
62
63 Camera::Ptr createCamera() override;
64
65private:
66 KITTISet() = default;
67 std::size_t m_frameNum = 0;
68};
69
定义Camera相机类
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< Camera > Ptr
Definition camera.h:27
Dataset作为数据集的抽象,提供扩展接口
Definition dataset.h:26
virtual ~Dataset()
Definition dataset.h:39
virtual Camera::Ptr createCamera()=0
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< Dataset > Ptr
Definition dataset.h:29
Dataset(const Dataset &other)=delete
Dataset & operator=(const Dataset &other)=delete
virtual Frame::Ptr createFrame()=0
Dataset()=default
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< Frame > Ptr
Definition map.h:79
KITTISet是Frame和Camera的简单工厂
Definition dataset.h:49
Frame::Ptr createFrame() override
Frame工厂函数
Definition dataset.cc:14
std::size_t m_frameNum
已经读取的帧的数目
Definition dataset.h:67
KITTISet()=default
static Ptr getInstance()
单例设计模式(懒汉模式)
Definition dataset.h:56
Camera::Ptr createCamera() override
Camera工厂函数
Definition dataset.cc:39
引入所有所需头文件,定义所有所需超参数
#define NAMESPACE_END
Definition common_include.h:41
#define NAMESPACE_BEGIN
Definition common_include.h:40
编写slam系统的超参数信息类
定义slam系统的数据结构包括Feature、Frame、MapPoint、Map