KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
g_camera.h
Go to the documentation of this file.
1 /* $Id: g_camera.h 12639 2012-07-06 17:19:26Z ernesto $ */
2 /* {{{=========================================================================== *
3  |
4  | Copyright (c) 1994-2011 by Kobus Barnard (author)
5  |
6  | Personal and educational use of this code is granted, provided that this
7  | header is kept intact, and that the authorship is not misrepresented, that
8  | its use is acknowledged in publications, and relevant papers are cited.
9  |
10  | For other use contact the author (kobus AT cs DOT arizona DOT edu).
11  |
12  | Please note that the code in this file has not necessarily been adequately
13  | tested. Naturally, there is no guarantee of performance, support, or fitness
14  | for any particular task. Nonetheless, I am interested in hearing about
15  | problems that you encounter.
16  |
17  | Author: Kyle Simek, Ernesto Brau, Jinyan Guan
18  * =========================================================================== }}}*/
19 
20 // vim: tabstop=4 shiftwidth=4 foldmethod=marker
21 #ifndef KJB_CPP_G_CAMERA_H
22 #define KJB_CPP_G_CAMERA_H
23 
24 #include <l_cpp/l_algorithm.h>
25 #include <m_cpp/m_matrix.h>
26 #include <m_cpp/m_matrix_d.h>
27 #include <m_cpp/m_vector.h>
28 #include <m_cpp/m_vector_d.h>
29 #include <vector>
30 #include <limits>
31 
32 namespace kjb {
33 
50 Vector backproject
51 (
52  const Vector& homo_camerascreen_coord,
53  const Matrix& camera_matrix
54 );
55 
58 (
59  const Vector3& homo_camera_coord,
60  const Matrix_d<3,4>& camera_matrix
61 );
62 
78 (
79  const Vector& homo_screen_coord,
80  const Matrix& M_inv
81 );
82 
85 (
86  const Vector3& homo_screen_coord,
87  const Matrix_d<3,3>& M_inv
88 );
89 
103  const Matrix& m1,
104  const Matrix& m2,
105  double t,
106  bool use_slerp = false);
107 
123  const std::vector<Matrix>& extrinsic,
124  const std::vector<double>& timestamps,
125  double t,
126  bool use_slerp = false);
127 
128 } // namespace kjb
129 
130 #endif
131 
Definition for the Matrix class, a thin wrapper on the KJB Matrix struct and its related functionalit...
Vector_d< 3 > Vector3
Definition: g_quaternion.h:37
Vector3 backproject(const Vector3 &homo_screen_coord, const Matrix_d< 3, 4 > &camera_matrix)
Same as backproject(), but using Vector3.
Definition: g_camera.cpp:57
Matrix lerp_extrinsic_camera_matrix(const Matrix &m1, const Matrix &m2, double t, bool use_slerp)
Linearly-interpolate a two extrinsic camera matrices.
Definition: g_camera.cpp:128
Vector backproject_with_m_inv(const Vector &homo_screen_coord, const Matrix &M_inv)
Definition: g_camera.cpp:100
Definition for the Vector class, a thin wrapper on the KJB Vector struct and its related functionalit...