19 py::class_<camera::PinholeCameraIntrinsic> pinhole_intr(
20 m,
"PinholeCameraIntrinsic",
21 "PinholeCameraIntrinsic class stores intrinsic camera matrix, and "
22 "image height and width.");
23 py::detail::bind_default_constructor<camera::PinholeCameraIntrinsic>(
25 py::detail::bind_copy_functions<camera::PinholeCameraIntrinsic>(
28 .def(py::init([](
int w,
int h,
double fx,
double fy,
double cx,
33 "width"_a,
"height"_a,
"fx"_a,
"fy"_a,
"cx"_a,
"cy"_a)
39 .def(
"set_intrinsics",
41 "height"_a,
"fx"_a,
"fy"_a,
"cx"_a,
"cy"_a,
42 "Set camera intrinsic parameters.")
43 .def(
"get_focal_length",
45 "Returns the focal length in a tuple of X-axis and Y-axis"
47 .def(
"get_principal_point",
49 "Returns the principal point in a tuple of X-axis and "
50 "Y-axis principal points.")
54 "Returns True iff both the width and height are greater than "
57 "int: Width of the image.")
59 "int: Height of the image.")
60 .def_readwrite(
"intrinsic_matrix",
62 "3x3 numpy array: Intrinsic camera matrix ``[[fx, "
67 "camera::PinholeCameraIntrinsic with width = ") +
69 std::string(
" and height = ") +
72 ".\nAccess intrinsics with intrinsic_matrix.");
77 {{
"width",
"Width of the image."},
78 {
"height",
"Height of the image."},
79 {
"fx",
"X-axis focal length"},
80 {
"fy",
"Y-axis focal length."},
81 {
"cx",
"X-axis principle point."},
82 {
"cy",
"Y-axis principle point."}});
86 "get_principal_point");
91 py::native_enum<PinholeCameraIntrinsicParameters> pinhole_intr_params(
92 m,
"PinholeCameraIntrinsicParameters",
"enum.Enum",
93 "Enum class that contains default camera intrinsic parameters for "
94 "different sensors.");
96 .value(
"PrimeSenseDefault",
98 "Default camera intrinsic parameter for PrimeSense.")
99 .value(
"Kinect2DepthCameraDefault",
101 "Default camera intrinsic parameter for Kinect2 depth "
103 .value(
"Kinect2ColorCameraDefault",
105 "Default camera intrinsic parameter for Kinect2 color "
111 py::class_<camera::PinholeCameraParameters> pinhole_param(
112 m,
"PinholeCameraParameters",
113 "Contains both intrinsic and extrinsic pinhole camera parameters.");
114 py::detail::bind_default_constructor<camera::PinholeCameraParameters>(
116 py::detail::bind_copy_functions<camera::PinholeCameraParameters>(
119 .def_readwrite(
"intrinsic",
121 "``cloudViewer.camera.PinholeCameraIntrinsic``: "
122 "PinholeCameraIntrinsic "
124 .def_readwrite(
"extrinsic",
126 "4x4 numpy array: Camera extrinsic parameters.")
128 return std::string(
"camera::PinholeCameraParameters class.\n") +
130 "Access its data via intrinsic and extrinsic.");
134 py::class_<camera::PinholeCameraTrajectory> pinhole_traj(
135 m,
"PinholeCameraTrajectory",
136 "Contains a list of ``PinholeCameraParameters``, useful to storing "
138 py::detail::bind_default_constructor<camera::PinholeCameraTrajectory>(
140 py::detail::bind_copy_functions<camera::PinholeCameraTrajectory>(
145 "``List(cloudViewer.camera.PinholeCameraParameters)``: "
146 "List of PinholeCameraParameters objects.")
148 return std::string(
"camera::PinholeCameraTrajectory class.\n") +
149 std::string(
"Access its data via camera_parameters.");
154 py::module m_submodule = m.def_submodule(
"camera");
Contains the pinhole camera intrinsic parameters.
int height_
Height of the image.
int width_
Width of the image.
bool IsValid() const
Returns true iff both the width and height are greater than 0.
std::pair< double, double > GetFocalLength() const
Returns the focal length in a tuple of X-axis and Y-axis focal lengths.
double GetSkew() const
Returns the skew.
void SetIntrinsics(int width, int height, double fx, double fy, double cx, double cy)
Set camera intrinsic parameters.
std::pair< double, double > GetPrincipalPoint() const
Eigen::Matrix3d intrinsic_matrix_
Contains both intrinsic and extrinsic pinhole camera parameters.
PinholeCameraIntrinsic intrinsic_
PinholeCameraIntrinsic object.
Eigen::Matrix4d_u extrinsic_
Camera extrinsic parameters.
std::vector< PinholeCameraParameters > parameters_
List of PinholeCameraParameters objects.
PinholeCameraIntrinsicParameters
Sets default camera intrinsic parameters for sensors.
@ PrimeSenseDefault
Default settings for PrimeSense camera sensor.
@ Kinect2DepthCameraDefault
Default settings for Kinect2 depth camera.
@ Kinect2ColorCameraDefault
Default settings for Kinect2 color camera.
void pybind_camera_classes(py::module &m)
void pybind_camera(py::module &m)
void ClassMethodDocInject(py::module &pybind_module, const std::string &class_name, const std::string &function_name, const std::unordered_map< std::string, std::string > &map_parameter_body_docs)
Generic file read and write utility for python interface.
std::string to_string(const T &n)