Monado OpenXR Runtime
Loading...
Searching...
No Matches
t_camera_models.hpp File Reference

Camera (un)projection C++ API for various camera models. More...

#include "math/m_vec2.h"
#include "math/m_matrix_2x2.h"
#include "math/m_mathinclude.h"
#include "t_tracking.h"
#include "tracking/t_camera_models.h"
Include dependency graph for t_camera_models.hpp:

Go to the source code of this file.

Data Structures

struct  xrt::auxiliary::tracking::camera_models::Vector2< T >
 
struct  xrt::auxiliary::tracking::camera_models::Matrix2x2< T >
 

Macros

#define CAST(x)   static_cast<T>(x)
 

Functions

template<typename T >
static T xrt::auxiliary::tracking::camera_models::kb4_calc_r_theta (const t_camera_model_params &dist, const T &theta, const T &theta2)
 
template<typename T >
static bool xrt::auxiliary::tracking::camera_models::kb4_project (const t_camera_model_params &dist, const T &x, const T &y, const T &z, T &out_x, T &out_y)
 
template<typename T >
static T xrt::auxiliary::tracking::camera_models::kb4_solve_theta (const t_camera_model_params &dist, const T &r_theta, T *d_func_d_theta)
 
template<typename T >
static bool xrt::auxiliary::tracking::camera_models::kb4_unproject (const t_camera_model_params &dist, const T &x, const T &y, T &out_x, T &out_y, T &out_z)
 
template<typename T >
static void xrt::auxiliary::tracking::camera_models::kb4_undistort (const t_camera_model_params &dist, const T &x, const T &y, T &out_x, T &out_y)
 
template<typename T >
static bool xrt::auxiliary::tracking::camera_models::rt8_project (const t_camera_model_params &dist, const T &x, const T &y, const T &z, T &out_x, T &out_y)
 
template<typename T >
static void xrt::auxiliary::tracking::camera_models::rt8_distort (const t_camera_model_params &params, const Vector2< T > &undist, Vector2< T > &out_dist, Matrix2x2< T > &out_d_dist_d_undist)
 
template<typename T >
static void xrt::auxiliary::tracking::camera_models::rt8_undistort (const t_camera_model_params &params, const T &u, const T &v, T &out_x, T &out_y)
 
template<typename T >
static bool xrt::auxiliary::tracking::camera_models::rt8_unproject (const t_camera_model_params &params, const T &u, const T &v, T &out_x, T &out_y, T &out_z)
 
template<typename T >
static bool xrt::auxiliary::tracking::camera_models::zero_distortion_pinhole_project (const t_camera_model_params &dist, const T x, const T y, const T z, T &out_x, T &out_y)
 
template<typename T >
static bool xrt::auxiliary::tracking::camera_models::zero_distortion_pinhole_unproject (const t_camera_model_params &dist, const T x, const T y, T &out_x, T &out_y, T &out_z)
 
template<typename T >
bool xrt::auxiliary::tracking::camera_models::project (const t_camera_model_params &dist, const T &x, const T &y, const T &z, T &out_x, T &out_y)
 
template<typename T >
void xrt::auxiliary::tracking::camera_models::undistort (const t_camera_model_params &dist, const T &x, const T &y, T &out_x, T &out_y)
 

Variables

static constexpr double xrt::auxiliary::tracking::camera_models::kSqrtEpsilon = 0.00316
 

Detailed Description

Camera (un)projection C++ API for various camera models.

Author
Moshi Turner moshi.nosp@m.turn.nosp@m.er@pr.nosp@m.oton.nosp@m.mail..nosp@m.com
Beyley Cardellio ep1cm.nosp@m.1n10.nosp@m.n123@.nosp@m.gmai.nosp@m.l.com

Function Documentation

◆ kb4_unproject()

template<typename T >
static bool xrt::auxiliary::tracking::camera_models::kb4_unproject ( const t_camera_model_params dist,
const T &  x,
const T &  y,
T &  out_x,
T &  out_y,
T &  out_z 
)
inlinestatic
Todo:
I'm not 100% sure if kb4 is always non-injective. basalt-headers always returns true here, so it might be wrong too.

References xrt::auxiliary::tracking::camera_models::kb4_unproject().

Referenced by xrt::auxiliary::tracking::camera_models::kb4_unproject().

◆ rt8_undistort()

template<typename T >
static void xrt::auxiliary::tracking::camera_models::rt8_undistort ( const t_camera_model_params params,
const T &  u,
const T &  v,
T &  out_x,
T &  out_y 
)
inlinestatic
Todo:
Decide if besides rpmax, it could be useful to have an rppmax field. A good starting point to having this would be using the sqrt of the max rpp2 value computed in the optimization of computeRpmax().

References xrt::auxiliary::tracking::camera_models::rt8_undistort().

Referenced by xrt::auxiliary::tracking::camera_models::rt8_undistort().