Loading...
Searching...
No Matches
gtsam::CalibratedCamera Class Reference
Geometry

## Detailed Description

A Calibrated camera class [R|-R't], calibration K=I.

If calibration is known, it is more computationally efficient to calibrate the measurements rather than try to predict in pixels.

Inheritance diagram for gtsam::CalibratedCamera:

## Advanced Interface

class | boost::serialization::access
| Serialization function.

## Standard Constructors

| CalibratedCamera ()
| default constructor
| CalibratedCamera (const Pose3 &pose)
| construct with pose

## Advanced Constructors

| CalibratedCamera (const Vector &v)
| construct from vector

## Standard Interface

virtual | ~CalibratedCamera ()
| destructor

## Manifold

CalibratedCamera | retract (const Vector &d) const
| move a cameras pose according to d
Vector | localCoordinates (const CalibratedCamera &T2) const
| Return canonical coordinate.
void | print (const std::string &s="CalibratedCamera") const override
| print
size_t | dim () const
static size_t | Dim ()

## Transformations and measurement functions

Point2 | project (const Point3 &point, OptionalJacobian< 2, 6 > Dcamera=boost::none, OptionalJacobian< 2, 3 > Dpoint=boost::none) const
Point3 | backproject (const Point2 &pn, double depth, OptionalJacobian< 3, 6 > Dresult_dpose=boost::none, OptionalJacobian< 3, 2 > Dresult_dp=boost::none, OptionalJacobian< 3, 1 > Dresult_ddepth=boost::none) const
| backproject a 2-dimensional point to a 3-dimensional point at given depth
double | range (const Point3 &point, OptionalJacobian< 1, 6 > Dcamera=boost::none, OptionalJacobian< 1, 3 > Dpoint=boost::none) const
| Calculate range to a landmark.
double | range (const Pose3 &pose, OptionalJacobian< 1, 6 > Dcamera=boost::none, OptionalJacobian< 1, 6 > Dpose=boost::none) const
| Calculate range to another pose.
double | range (const CalibratedCamera &camera, OptionalJacobian< 1, 6 > H1=boost::none, OptionalJacobian< 1, 6 > H2=boost::none) const
| Calculate range to another camera.

## Named Constructors

static CalibratedCamera | Create (const Pose3 &pose, OptionalJacobian< dimension, 6 > H1=boost::none)
static CalibratedCamera | Level (const Pose2 &pose2, double height)
| Create a level camera at the given 2D pose and height.
static CalibratedCamera | Lookat (const Point3 &eye, const Point3 &target, const Point3 &upVector)
| Create a camera at the given eye position looking at a target point in the scene with the specified up direction vector.

## Public Types

enum | { dimension = 6 }
Public Types inherited from gtsam::PinholeBase
typedef Rot3 | Rotation
| Pose Concept requirements.
typedef Point3 | Translation
typedef Point2 | Measurement
| Some classes template on either PinholeCamera or StereoCamera, and this typedef informs those classes what "project" returns.
typedef Point2Vector | MeasurementVector

## Additional Inherited Members

std::pair< Point2, bool > | projectSafe (const Point3 &pw) const
| Project a point into the image and check depth.
Point2 | project2 (const Point3 &point, OptionalJacobian< 2, 6 > Dpose=boost::none, OptionalJacobian< 2, 3 > Dpoint=boost::none) const
| Project point into the image Throws a CheiralityException if point behind image plane iff GTSAM_THROW_CHEIRALITY_EXCEPTION.
Point2 | project2 (const Unit3 &point, OptionalJacobian< 2, 6 > Dpose=boost::none, OptionalJacobian< 2, 2 > Dpoint=boost::none) const
| Project point at infinity into the image Throws a CheiralityException if point behind image plane iff GTSAM_THROW_CHEIRALITY_EXCEPTION.
| PinholeBase ()
| Default constructor.
| PinholeBase (const Pose3 &pose)
| Constructor with pose.
| PinholeBase (const Vector &v)
virtual | ~PinholeBase ()=default
| Default destructor.
bool | equals (const PinholeBase &camera, double tol=1e-9) const
| assert equality up to a tolerance
const Pose3 & | pose () const
| return pose, constant version
const Rot3 & | rotation () const
| get rotation
const Point3 & | translation () const
| get translation
const Pose3 & | getPose (OptionalJacobian< 6, 6 > H) const
| return pose, with derivative
static Pose3 | LevelPose (const Pose2 &pose2, double height)
| Create a level pose at the given 2D pose and height.
static Pose3 | LookatPose (const Point3 &eye, const Point3 &target, const Point3 &upVector)
| Create a camera pose at the given eye position looking at a target point in the scene with the specified up direction vector.
static Point2 | Project (const Point3 &pc, OptionalJacobian< 2, 3 > Dpoint=boost::none)
| Project from 3D point in camera coordinates into image Does not throw a CheiralityException, even if pc behind image plane.
static Point2 | Project (const Unit3 &pc, OptionalJacobian< 2, 2 > Dpoint=boost::none)
| Project from 3D point at infinity in camera coordinates into image Does not throw a CheiralityException, even if pc behind image plane.
static Point3 | BackprojectFromCamera (const Point2 &p, const double depth, OptionalJacobian< 3, 2 > Dpoint=boost::none, OptionalJacobian< 3, 1 > Ddepth=boost::none)
| backproject a 2-dimensional point to a 3-dimensional point at given depth
static std::pair< size_t, size_t > | translationInterval ()
| Return the start and end indices (inclusive) of the translation component of the exponential map parameterization.
static Matrix26 | Dpose (const Point2 &pn, double d)
| Calculate Jacobian with respect to pose.
static Matrix23 | Dpoint (const Point2 &pn, double d, const Matrix3 &Rt)
| Calculate Jacobian with respect to point.

## Member Function Documentation

## Dim()

size_t gtsam::CalibratedCamera::Dim | ( |  | ) |

inline static

Deprecated

## dim()

size_t gtsam::CalibratedCamera::dim | ( |  | ) | const

inline

Deprecated

## Level()

CalibratedCamera gtsam::CalibratedCamera::Level | ( | const Pose2 & | pose2,
|  | double | height )

static

Create a level camera at the given 2D pose and height.

Parameters

  pose2 | specifies the location and viewing direction
  height | specifies the height of the camera (along the positive Z-axis) (theta 0 = looking in direction of positive X axis)

## Lookat()

CalibratedCamera gtsam::CalibratedCamera::Lookat | ( | const Point3 & | eye,
|  | const Point3 & | target,
|  | const Point3 & | upVector )

static

Create a camera at the given eye position looking at a target point in the scene with the specified up direction vector.

Parameters

  eye | specifies the camera position
  target | the point to look at
  upVector | specifies the camera up direction vector, doesn't need to be on the image plane nor orthogonal to the viewing axis

## print()

void gtsam::CalibratedCamera::print | ( | const std::string & | s = "CalibratedCamera" | ) | const

inline override virtual

print

Reimplemented from gtsam::PinholeBase.

## project()

Point2 gtsam::CalibratedCamera::project | ( | const Point3 & | point,
|  | OptionalJacobian< 2, 6 > | Dcamera = boost::none,
|  | OptionalJacobian< 2, 3 > | Dpoint = boost::none ) const

Deprecated
  Use project2, which is more consistently named across Pinhole cameras

## range() [1/3]

double gtsam::CalibratedCamera::range | ( | const CalibratedCamera & | camera,
|  | OptionalJacobian< 1, 6 > | H1 = boost::none,
|  | OptionalJacobian< 1, 6 > | H2 = boost::none ) const

inline

Calculate range to another camera.

Parameters

  camera | Other camera

Returns
  range (double)

## range() [2/3]

double gtsam::CalibratedCamera::range | ( | const Point3 & | point,
|  | OptionalJacobian< 1, 6 > | Dcamera = boost::none,
|  | OptionalJacobian< 1, 3 > | Dpoint = boost::none ) const

inline

Calculate range to a landmark.

Parameters

  point | 3D location of landmark

Returns
  range (double)

## range() [3/3]

double gtsam::CalibratedCamera::range | ( | const Pose3 & | pose,
|  | OptionalJacobian< 1, 6 > | Dcamera = boost::none,
|  | OptionalJacobian< 1, 6 > | Dpose = boost::none ) const

inline

Calculate range to another pose.

Parameters

  pose | Other SO(3) pose

Returns
  range (double)

The documentation for this class was generated from the following files:

- /build/gtsam-RkN8wG/gtsam-4.2.2+dfsg/gtsam/geometry/CalibratedCamera.h
- /build/gtsam-RkN8wG/gtsam-4.2.2+dfsg/gtsam/geometry/CalibratedCamera.cpp