Berkeley SfM
Public Member Functions | Private Attributes | List of all members
bsfm::Camera Class Reference

#include <camera.h>

Public Member Functions

 Camera ()
 
 ~Camera ()
 
 Camera (CameraExtrinsics, CameraIntrinsics)
 
void SetExtrinsics (const CameraExtrinsics &)
 
void SetIntrinsics (const CameraIntrinsics &)
 
CameraExtrinsicsMutableExtrinsics ()
 
CameraIntrinsicsMutableIntrinsics ()
 
const CameraExtrinsicsExtrinsics () const
 
const CameraIntrinsicsIntrinsics () const
 
Matrix34d P () const
 
Matrix3d K () const
 
Matrix34d Rt () const
 
Vector3d Translation () const
 
Matrix3d Rotation () const
 
Vector3d AxisAngleRotation () const
 
void WorldToCamera (double wx, double wy, double wz, double *cx, double *cy, double *cz) const
 
void CameraToWorld (double cx, double cy, double cz, double *wx, double *wy, double *wz) const
 
bool CameraToImage (double cx, double cy, double cz, double *u_distorted, double *v_distorted) const
 
bool WorldToImage (double wx, double wy, double wz, double *u_distorted, double *v_distorted) const
 
bool DirectionToImage (double u_normalized, double v_normalized, double *u_distorted, double *v_distorted) const
 
void ImageToDirection (double u_distorted, double v_distorted, double *u_normalized, double *v_normalized) const
 
void Distort (double u, double v, double *u_distorted, double *v_distorted) const
 
void Undistort (double u_distorted, double v_distorted, double *u, double *v) const
 

Private Attributes

CameraExtrinsics extrinsics_
 
CameraIntrinsics intrinsics_
 

Detailed Description

Definition at line 62 of file camera.h.

Constructor & Destructor Documentation

bsfm::Camera::Camera ( )
inline

Definition at line 66 of file camera.h.

66 { };
bsfm::Camera::~Camera ( )
inline

Definition at line 67 of file camera.h.

67 { };
bsfm::Camera::Camera ( CameraExtrinsics  extrinsics,
CameraIntrinsics  intrinsics 
)

Definition at line 53 of file camera.cpp.

54  : extrinsics_(extrinsics), intrinsics_(intrinsics) {}
CameraIntrinsics intrinsics_
Definition: camera.h:140
CameraExtrinsics extrinsics_
Definition: camera.h:139

Member Function Documentation

Vector3d bsfm::Camera::AxisAngleRotation ( ) const

Definition at line 98 of file camera.cpp.

98  {
100 }
CameraExtrinsics extrinsics_
Definition: camera.h:139
Vector3d AxisAngle()
Definition: pose.cpp:162
bool bsfm::Camera::CameraToImage ( double  cx,
double  cy,
double  cz,
double *  u_distorted,
double *  v_distorted 
) const

Definition at line 116 of file camera.cpp.

117  {
118  return intrinsics_.CameraToImage(cx, cy, cz, u_distorted, v_distorted);
119 }
CameraIntrinsics intrinsics_
Definition: camera.h:140
bool CameraToImage(double cx, double cy, double cz, double *u_distorted, double *v_distorted) const
void bsfm::Camera::CameraToWorld ( double  cx,
double  cy,
double  cz,
double *  wx,
double *  wy,
double *  wz 
) const

Definition at line 109 of file camera.cpp.

110  {
111  extrinsics_.CameraToWorld(cx, cy, cz, wx, wy, wz);
112 }
CameraExtrinsics extrinsics_
Definition: camera.h:139
bool bsfm::Camera::DirectionToImage ( double  u_normalized,
double  v_normalized,
double *  u_distorted,
double *  v_distorted 
) const

Definition at line 130 of file camera.cpp.

131  {
132  return intrinsics_.DirectionToImage(u_normalized, v_normalized, u_distorted,
133  v_distorted);
134 }
CameraIntrinsics intrinsics_
Definition: camera.h:140
bool DirectionToImage(double u_normalized, double v_normalized, double *u_distorted, double *v_distorted) const
void bsfm::Camera::Distort ( double  u,
double  v,
double *  u_distorted,
double *  v_distorted 
) const

Definition at line 146 of file camera.cpp.

147  {
148  intrinsics_.Distort(u, v, u_distorted, v_distorted);
149 }
CameraIntrinsics intrinsics_
Definition: camera.h:140
void Distort(double u, double v, double *u_distorted, double *v_distorted) const
const CameraExtrinsics & bsfm::Camera::Extrinsics ( ) const

Definition at line 69 of file camera.cpp.

69 { return extrinsics_; }
CameraExtrinsics extrinsics_
Definition: camera.h:139
void bsfm::Camera::ImageToDirection ( double  u_distorted,
double  v_distorted,
double *  u_normalized,
double *  v_normalized 
) const

Definition at line 138 of file camera.cpp.

140  {
141  intrinsics_.ImageToDirection(u_distorted, v_distorted, u_normalized,
142  v_normalized);
143 }
void ImageToDirection(double u_distorted, double v_distorted, double *u_normalized, double *v_normalized) const
CameraIntrinsics intrinsics_
Definition: camera.h:140
const CameraIntrinsics & bsfm::Camera::Intrinsics ( ) const

Definition at line 70 of file camera.cpp.

70 { return intrinsics_; }
CameraIntrinsics intrinsics_
Definition: camera.h:140
Matrix3d bsfm::Camera::K ( ) const

Definition at line 78 of file camera.cpp.

78  {
79  return intrinsics_.K();
80 }
CameraIntrinsics intrinsics_
Definition: camera.h:140
CameraExtrinsics & bsfm::Camera::MutableExtrinsics ( )

Definition at line 67 of file camera.cpp.

67 { return extrinsics_; }
CameraExtrinsics extrinsics_
Definition: camera.h:139
CameraIntrinsics & bsfm::Camera::MutableIntrinsics ( )

Definition at line 68 of file camera.cpp.

68 { return intrinsics_; }
CameraIntrinsics intrinsics_
Definition: camera.h:140
Matrix34d bsfm::Camera::P ( ) const

Definition at line 73 of file camera.cpp.

73  {
74  return intrinsics_.K() * extrinsics_.Rt();
75 }
CameraIntrinsics intrinsics_
Definition: camera.h:140
CameraExtrinsics extrinsics_
Definition: camera.h:139
Matrix3d bsfm::Camera::Rotation ( ) const

Definition at line 93 of file camera.cpp.

93  {
94  return extrinsics_.Rotation();
95 }
CameraExtrinsics extrinsics_
Definition: camera.h:139
Matrix3d Rotation() const
Matrix34d bsfm::Camera::Rt ( ) const

Definition at line 83 of file camera.cpp.

83  {
84  return extrinsics_.Rt();
85 }
CameraExtrinsics extrinsics_
Definition: camera.h:139
void bsfm::Camera::SetExtrinsics ( const CameraExtrinsics extrinsics)

Definition at line 57 of file camera.cpp.

57  {
58  extrinsics_ = extrinsics;
59 }
CameraExtrinsics extrinsics_
Definition: camera.h:139
void bsfm::Camera::SetIntrinsics ( const CameraIntrinsics intrinsics)

Definition at line 62 of file camera.cpp.

62  {
63  intrinsics_ = intrinsics;
64 }
CameraIntrinsics intrinsics_
Definition: camera.h:140
Vector3d bsfm::Camera::Translation ( ) const

Definition at line 88 of file camera.cpp.

88  {
89  return extrinsics_.Translation();
90 }
Vector3d Translation() const
CameraExtrinsics extrinsics_
Definition: camera.h:139
void bsfm::Camera::Undistort ( double  u_distorted,
double  v_distorted,
double *  u,
double *  v 
) const

Definition at line 152 of file camera.cpp.

153  {
154  intrinsics_.Undistort(u_distorted, v_distorted, u, v);
155 }
CameraIntrinsics intrinsics_
Definition: camera.h:140
void Undistort(double u_distorted, double v_distorted, double *u, double *v, int iterations=10) const
void bsfm::Camera::WorldToCamera ( double  wx,
double  wy,
double  wz,
double *  cx,
double *  cy,
double *  cz 
) const

Definition at line 103 of file camera.cpp.

104  {
105  extrinsics_.WorldToCamera(wx, wy, wz, cx, cy, cz);
106 }
CameraExtrinsics extrinsics_
Definition: camera.h:139
bool bsfm::Camera::WorldToImage ( double  wx,
double  wy,
double  wz,
double *  u_distorted,
double *  v_distorted 
) const

Definition at line 121 of file camera.cpp.

122  {
123  double cx = 0.0, cy = 0.0, cz = 0.0;
124  WorldToCamera(wx, wy, wz, &cx, &cy, &cz);
125  return CameraToImage(cx, cy, cz, u_distorted, v_distorted);
126 }
void WorldToCamera(double wx, double wy, double wz, double *cx, double *cy, double *cz) const
Definition: camera.cpp:103
bool CameraToImage(double cx, double cy, double cz, double *u_distorted, double *v_distorted) const
Definition: camera.cpp:116

Member Data Documentation

CameraExtrinsics bsfm::Camera::extrinsics_
private

Definition at line 139 of file camera.h.

CameraIntrinsics bsfm::Camera::intrinsics_
private

Definition at line 140 of file camera.h.


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