licornea_tools
camera.h
Go to the documentation of this file.
1 #ifndef LICORNEA_CAMERA_H_
2 #define LICORNEA_CAMERA_H_
3 
4 #include "common.h"
5 #include "json.h"
6 #include "../../lib/intrinsics.h"
7 #include <vector>
8 #include <map>
9 #include <string>
10 
11 namespace tlz {
12 
13 struct camera {
14  std::string name;
18 
19  mat44 extrinsic() const;
20  mat44 extrinsic_inv() const;
21  void set_extrinsic(const mat44&);
22 
23  vec3 position() const;
24 };
25 
26 using camera_array = std::vector<camera>;
27 
29 void export_cameras_file(const camera_array& cams, const std::string& filename);
30 
32 intrinsics to_undistorted_intrinsics(const camera&, int width, int height);
33 
34 std::map<std::string, camera> cameras_map(const std::vector<camera>&);
35 void export_cameras_file(const std::string& filename, const std::map<std::string, camera>&);
36 
37 }
38 
39 #endif
void export_cameras_file(const camera_array &cameras, const std::string &filename)
Definition: camera.cc:79
camera_array decode_cameras(const json &j_cams)
Definition: camera.cc:60
mat33 intrinsic
Definition: camera.h:15
std::string name
Definition: camera.h:14
std::map< std::string, camera > cameras_map(const camera_array &arr)
Definition: camera.cc:112
vec3 position() const
Definition: camera.cc:55
mat44 extrinsic_inv() const
Definition: camera.cc:34
mat33 rotation
Definition: camera.h:16
camera_array cameras_arg()
Definition: camera.cc:107
mat44 extrinsic() const
Definition: camera.cc:24
cv::Matx< real, 3, 3 > mat33
Definition: common.h:26
cv::Vec< real, 3 > vec3
Definition: common.h:23
void set_extrinsic(const mat44 &)
Definition: camera.cc:46
intrinsics to_undistorted_intrinsics(const camera &cam, int width, int height)
Definition: camera.cc:119
std::vector< camera > camera_array
Definition: camera.h:26
nlohmann::json json
Definition: json.h:11
vec3 translation
Definition: camera.h:17
cv::Matx< real, 4, 4 > mat44
Definition: common.h:27