Apollo
11.0
自动驾驶开放平台
omnidirectional_model.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2018 The Apollo Authors. All Rights Reserved.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*****************************************************************************/
16
#pragma once
17
18
#include <memory>
19
#include <string>
20
21
#include "Eigen/Core"
22
23
#include "
modules/perception/common/base/camera.h
"
24
#include "
modules/perception/common/base/distortion_model.h
"
25
#include "
modules/perception/common/base/polynomial.h
"
26
27
namespace
apollo
{
28
namespace
perception {
29
namespace
base {
30
31
class
OmnidirectionalCameraDistortionModel
:
public
BaseCameraDistortionModel
{
32
public
:
33
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
34
35
public
:
36
OmnidirectionalCameraDistortionModel
() =
default
;
37
~OmnidirectionalCameraDistortionModel
() =
default
;
38
39
Eigen::Vector2f
Project
(
const
Eigen::Vector3f& point3d)
override
;
40
41
std::shared_ptr<BaseCameraModel>
get_camera_model
()
override
;
42
43
std::string
name
()
const override
{
44
return
"OmnidirectionalCameraDistortionModel"
;
45
}
46
47
bool
set_params
(
size_t
width,
size_t
height,
48
const
Eigen::VectorXf& params)
override
;
49
50
protected
:
51
Eigen::Matrix3f
intrinsic_params_
;
52
Polynomial
cam2world_
;
53
Polynomial
world2cam_
;
54
float
center_
[2];
// x, y
55
float
affine_
[3];
// c, d, e
56
};
57
58
}
// namespace base
59
}
// namespace perception
60
}
// namespace apollo
camera.h
apollo::perception::base::BaseCameraDistortionModel
Definition
distortion_model.h:27
apollo::perception::base::OmnidirectionalCameraDistortionModel
Definition
omnidirectional_model.h:31
apollo::perception::base::OmnidirectionalCameraDistortionModel::name
std::string name() const override
Definition
omnidirectional_model.h:43
apollo::perception::base::OmnidirectionalCameraDistortionModel::~OmnidirectionalCameraDistortionModel
~OmnidirectionalCameraDistortionModel()=default
apollo::perception::base::OmnidirectionalCameraDistortionModel::OmnidirectionalCameraDistortionModel
OmnidirectionalCameraDistortionModel()=default
apollo::perception::base::OmnidirectionalCameraDistortionModel::intrinsic_params_
Eigen::Matrix3f intrinsic_params_
Definition
omnidirectional_model.h:51
apollo::perception::base::OmnidirectionalCameraDistortionModel::get_camera_model
std::shared_ptr< BaseCameraModel > get_camera_model() override
Definition
omnidirectional_model.cc:61
apollo::perception::base::OmnidirectionalCameraDistortionModel::center_
float center_[2]
Definition
omnidirectional_model.h:54
apollo::perception::base::OmnidirectionalCameraDistortionModel::Project
Eigen::Vector2f Project(const Eigen::Vector3f &point3d) override
Definition
omnidirectional_model.cc:29
apollo::perception::base::OmnidirectionalCameraDistortionModel::cam2world_
Polynomial cam2world_
Definition
omnidirectional_model.h:52
apollo::perception::base::OmnidirectionalCameraDistortionModel::affine_
float affine_[3]
Definition
omnidirectional_model.h:55
apollo::perception::base::OmnidirectionalCameraDistortionModel::set_params
bool set_params(size_t width, size_t height, const Eigen::VectorXf ¶ms) override
Definition
omnidirectional_model.cc:70
apollo::perception::base::OmnidirectionalCameraDistortionModel::world2cam_
Polynomial world2cam_
Definition
omnidirectional_model.h:53
apollo::perception::base::Polynomial
Definition
polynomial.h:26
distortion_model.h
apollo
class register implement
Definition
arena_queue.h:37
polynomial.h
modules
perception
common
base
omnidirectional_model.h