|
GTSAM
4.0.2
C++ library for smoothing and mapping (SAM)
|
#include <PinholeCamera.h>


Public Types | |
| enum | { dimension = 6 + DimK } |
| typedef Point2 | Measurement |
| typedef Point2Vector | MeasurementVector |
| typedef Calibration | CalibrationType |
| typedef Rot3 | Rotation |
| typedef Point3 | Translation |
Derivatives | |
| static Matrix26 | Dpose (const Point2 &pn, double d) |
| static Matrix23 | Dpoint (const Point2 &pn, double d, const Matrix3 &Rt) |
Static functions | |
| static Pose3 | LevelPose (const Pose2 &pose2, double height) |
| static Pose3 | LookatPose (const Point3 &eye, const Point3 &target, const Point3 &upVector) |
Testable | |
| bool | equals (const PinholeBase &camera, double tol=1e-9) const |
| assert equality up to a tolerance | |
Standard Interface | |
| const Rot3 & | rotation () const |
| get rotation | |
| const Point3 & | translation () const |
| get translation | |
| const Pose3 & | getPose (OptionalJacobian< 6, 6 > H) const |
| return pose, with derivative | |
Transformations and measurement functions | |
| Point2 | project2 (const Point3 &point, OptionalJacobian< 2, 6 > Dpose={}, OptionalJacobian< 2, 3 > Dpoint={}) const |
| Point2 | project2 (const Unit3 &point, OptionalJacobian< 2, 6 > Dpose={}, OptionalJacobian< 2, 2 > Dpoint={}) const |
| static Point2 | Project (const Point3 &pc, OptionalJacobian< 2, 3 > Dpoint={}) |
| static Point2 | Project (const Unit3 &pc, OptionalJacobian< 2, 2 > Dpoint={}) |
| static Point3 | BackprojectFromCamera (const Point2 &p, const double depth, OptionalJacobian< 3, 2 > Dpoint={}, OptionalJacobian< 3, 1 > Ddepth={}) |
| backproject a 2-dimensional point to a 3-dimensional point at given depth | |
Advanced interface | |
| static std::pair< size_t, size_t > | translationInterval () |
Standard Constructors | |
| PinholeCamera () | |
| PinholeCamera (const Pose3 &pose) | |
| PinholeCamera (const Pose3 &pose, const Calibration &K) | |
Named Constructors | |
| static PinholeCamera | Level (const Calibration &K, const Pose2 &pose2, double height) |
| static PinholeCamera | Level (const Pose2 &pose2, double height) |
| PinholeCamera::level with default calibration. | |
| static PinholeCamera | Lookat (const Point3 &eye, const Point3 &target, const Point3 &upVector, const Calibration &K=Calibration()) |
| static PinholeCamera | Create (const Pose3 &pose, const Calibration &K, OptionalJacobian< dimension, 6 > H1={}, OptionalJacobian< dimension, DimK > H2={}) |
Advanced Constructors | |
| PinholeCamera (const Vector &v) | |
| Init from vector, can be 6D (default calibration) or dim. | |
| PinholeCamera (const Vector &v, const Vector &K) | |
| Init from Vector and calibration. | |
Testable | |
| bool | equals (const Base &camera, double tol=1e-9) const |
| assert equality up to a tolerance | |
| void | print (const std::string &s="PinholeCamera") const override |
| print | |
Standard Interface | |
| ~PinholeCamera () override | |
| const Pose3 & | pose () const |
| return pose | |
| const Pose3 & | getPose (OptionalJacobian< 6, dimension > H) const |
| return pose, with derivative | |
| const Calibration & | calibration () const override |
| return calibration | |
Manifold | |
| typedef Eigen::Matrix< double, dimension, 1 > | VectorK6 |
| size_t | dim () const |
| PinholeCamera | retract (const Vector &d) const |
| move a cameras according to d | |
| VectorK6 | localCoordinates (const PinholeCamera &T2) const |
| return canonical coordinate | |
| static size_t | Dim () |
| static PinholeCamera | Identity () |
| for Canonical | |
Transformations and measurement functions | |
| typedef Eigen::Matrix< double, 2, DimK > | Matrix2K |
| template<class POINT > | |
| Point2 | _project2 (const POINT &pw, OptionalJacobian< 2, dimension > Dcamera, OptionalJacobian< 2, FixedDimension< POINT >::value > Dpoint) const |
| Point2 | project2 (const Point3 &pw, OptionalJacobian< 2, dimension > Dcamera={}, OptionalJacobian< 2, 3 > Dpoint={}) const |
| project a 3D point from world coordinates into the image | |
| Point2 | project2 (const Unit3 &pw, OptionalJacobian< 2, dimension > Dcamera={}, OptionalJacobian< 2, 2 > Dpoint={}) const |
| project a point at infinity from world coordinates into the image | |
| double | range (const Point3 &point, OptionalJacobian< 1, dimension > Dcamera={}, OptionalJacobian< 1, 3 > Dpoint={}) const |
| double | range (const Pose3 &pose, OptionalJacobian< 1, dimension > Dcamera={}, OptionalJacobian< 1, 6 > Dpose={}) const |
| template<class CalibrationB > | |
| double | range (const PinholeCamera< CalibrationB > &camera, OptionalJacobian< 1, dimension > Dcamera={}, OptionalJacobian< 1, 6+CalibrationB::dimension > Dother={}) const |
| double | range (const CalibratedCamera &camera, OptionalJacobian< 1, dimension > Dcamera={}, OptionalJacobian< 1, 6 > Dother={}) const |
| Matrix34 | cameraProjectionMatrix () const |
| for Linear Triangulation | |
| Vector | defaultErrorWhenTriangulatingBehindCamera () const |
| for Nonlinear Triangulation | |
Transformations and measurement functions | |
| std::pair< Point2, bool > | projectSafe (const Point3 &pw) const |
| Project a point into the image and check depth. | |
| Point2 | _project (const POINT &pw, OptionalJacobian< 2, 6 > Dpose, OptionalJacobian< 2, FixedDimension< POINT >::value > Dpoint, OptionalJacobian< 2, DimK > Dcal) const |
| Point2 | project (const Point3 &pw, OptionalJacobian< 2, 6 > Dpose={}, OptionalJacobian< 2, 3 > Dpoint={}, OptionalJacobian< 2, DimK > Dcal={}) const |
| project a 3D point from world coordinates into the image | |
| Point2 | project (const Unit3 &pw, OptionalJacobian< 2, 6 > Dpose={}, OptionalJacobian< 2, 2 > Dpoint={}, OptionalJacobian< 2, DimK > Dcal={}) const |
| project a point at infinity from world coordinates into the image | |
| Point2 | reprojectionError (const Point3 &pw, const Point2 &measured, OptionalJacobian< 2, 6 > Dpose={}, OptionalJacobian< 2, 3 > Dpoint={}, OptionalJacobian< 2, DimK > Dcal={}) const |
| project a 3D point from world coordinates into the image | |
| Point3 | backproject (const Point2 &p, double depth, OptionalJacobian< 3, 6 > Dresult_dpose={}, OptionalJacobian< 3, 2 > Dresult_dp={}, OptionalJacobian< 3, 1 > Dresult_ddepth={}, OptionalJacobian< 3, DimK > Dresult_dcal={}) const |
| backproject a 2-dimensional point to a 3-dimensional point at given depth | |
| Unit3 | backprojectPointAtInfinity (const Point2 &p) const |
| backproject a 2-dimensional point to a 3-dimensional point at infinity | |
| double | range (const Point3 &point, OptionalJacobian< 1, 6 > Dcamera={}, OptionalJacobian< 1, 3 > Dpoint={}) const |
| double | range (const Pose3 &pose, OptionalJacobian< 1, 6 > Dcamera={}, OptionalJacobian< 1, 6 > Dpose={}) const |
| double | range (const CalibratedCamera &camera, OptionalJacobian< 1, 6 > Dcamera={}, OptionalJacobian< 1, 6 > Dother={}) const |
| double | range (const PinholeBaseK< CalibrationB > &camera, OptionalJacobian< 1, 6 > Dcamera={}, OptionalJacobian< 1, 6 > Dother={}) const |
A pinhole camera class that has a Pose3 and a Calibration. Use PinholePose if you will not be optimizing for Calibration
| typedef Point2 gtsam::PinholeCamera< Calibration >::Measurement |
Some classes template on either PinholeCamera or StereoCamera, and this typedef informs those classes what "project" returns.
|
inherited |
Pose Concept requirements
|
inline |
default constructor
|
inlineexplicit |
constructor with pose
|
inline |
constructor with pose and calibration
|
inlineinherited |
Templated projection of a point (possibly at infinity) from world coordinate to the image
| pw | is a 3D point or a Unit3 (point at infinity) in world coordinates |
| Dpose | is the Jacobian w.r.t. pose3 |
| Dpoint | is the Jacobian w.r.t. point3 |
| Dcal | is the Jacobian w.r.t. calibration |
|
inline |
Templated projection of a 3D point or a point at infinity into the image
| pw | either a Point3 or a Unit3, in world coordinates |
|
inline |
|
inlinestatic |
|
staticprotectedinherited |
Calculate Jacobian with respect to point
| pn | projection in normalized coordinates |
| d | disparity (inverse depth) |
| Rt | transposed rotation matrix |
|
staticprotectedinherited |
Calculate Jacobian with respect to pose
| pn | projection in normalized coordinates |
| d | disparity (inverse depth) |
|
inlinestatic |
Create a level camera at the given 2D pose and height
| K | the calibration |
| pose2 | specifies the location and viewing direction (theta 0 = looking in direction of positive X axis) |
| height | camera height |
Create a level pose at the given 2D pose and height
| K | the calibration |
| pose2 | specifies the location and viewing direction (theta 0 = looking in direction of positive X axis) |
| height | camera height |
|
inlinestatic |
Create a camera at the given eye position looking at a target point in the scene with the specified up direction vector.
| 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 |
| K | optional calibration parameter |
|
staticinherited |
Create a camera pose at the given eye position looking at a target point in the scene with the specified up direction vector.
| 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 |
|
staticinherited |
Project from 3D point in camera coordinates into image Does not throw a CheiralityException, even if pc behind image plane
| pc | point in camera coordinates |
|
staticinherited |
Project from 3D point at infinity in camera coordinates into image Does not throw a CheiralityException, even if pc behind image plane
| pc | point in camera coordinates |
|
inherited |
Project point into the image Throws a CheiralityException if point behind image plane iff GTSAM_THROW_CHEIRALITY_EXCEPTION
| point | 3D point in world coordinates |
|
inherited |
Project point at infinity into the image Throws a CheiralityException if point behind image plane iff GTSAM_THROW_CHEIRALITY_EXCEPTION
| point | 3D point in world coordinates |
|
inlineinherited |
Calculate range to a landmark
| point | 3D location of landmark |
|
inlineinherited |
Calculate range to another pose
| pose | Other SO(3) pose |
|
inlineinherited |
|
inlineinherited |
Calculate range to a PinholePoseK derived class
| camera | Other camera |
|
inline |
Calculate range to a landmark
| point | 3D location of landmark |
|
inline |
Calculate range to another pose
| pose | Other SO(3) pose |
|
inline |
Calculate range to another camera
| camera | Other camera |
|
inline |
Calculate range to a calibrated camera
| camera | Other camera |
|
inlinestaticinherited |
Return the start and end indices (inclusive) of the translation component of the exponential map parameterization
1.8.13