Monado OpenXR Runtime
|
Mercury main header! More...
#include "hg_interface.h"
#include "hg_debug_instrumentation.hpp"
#include "tracking/t_hand_tracking.h"
#include "tracking/t_camera_models.h"
#include "xrt/xrt_defines.h"
#include "xrt/xrt_frame.h"
#include "xrt/xrt_tracking.h"
#include "math/m_api.h"
#include "math/m_vec2.h"
#include "math/m_vec3.h"
#include "math/m_mathinclude.h"
#include "math/m_eigen_interop.hpp"
#include "util/u_frame_times_widget.h"
#include "util/u_logging.h"
#include "util/u_sink.h"
#include "util/u_template_historybuf.hpp"
#include "util/u_worker.h"
#include "util/u_trace_marker.h"
#include "util/u_debug.h"
#include "util/u_frame.h"
#include "util/u_var.h"
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <opencv2/opencv.hpp>
#include <onnxruntime_c_api.h>
#include "kine_common.hpp"
#include "kine_lm/lm_interface.hpp"
Go to the source code of this file.
Data Structures | |
struct | xrt::tracking::hand::mercury::Hand3D |
struct | xrt::tracking::hand::mercury::projection_instructions |
struct | xrt::tracking::hand::mercury::model_input_wrap |
struct | xrt::tracking::hand::mercury::onnx_wrap |
struct | xrt::tracking::hand::mercury::hand_region_of_interest |
struct | xrt::tracking::hand::mercury::hand_detection_run_info |
struct | xrt::tracking::hand::mercury::keypoint_estimation_run_info |
struct | xrt::tracking::hand::mercury::ht_view |
struct | xrt::tracking::hand::mercury::hand_size_refinement |
struct | xrt::tracking::hand::mercury::model_output_visualizers |
struct | xrt::tracking::hand::mercury::HandTracking |
Main class of Mercury hand tracking. More... | |
Macros | |
#define | HG_TRACE(hgt, ...) U_LOG_IFL_T(hgt->log_level, __VA_ARGS__) |
#define | HG_DEBUG(hgt, ...) U_LOG_IFL_D(hgt->log_level, __VA_ARGS__) |
#define | HG_INFO(hgt, ...) U_LOG_IFL_I(hgt->log_level, __VA_ARGS__) |
#define | HG_WARN(hgt, ...) U_LOG_IFL_W(hgt->log_level, __VA_ARGS__) |
#define | HG_ERROR(hgt, ...) U_LOG_IFL_E(hgt->log_level, __VA_ARGS__) |
Typedefs | |
using | xrt::tracking::hand::mercury::hand21_2d = std::array< vec2_5, 21 > |
Enumerations | |
enum | ROIProvenance { HAND_DETECTION , POSE_PREDICTION } |
Functions | |
static const cv::Scalar | xrt::tracking::hand::mercury::RED (255, 30, 30) |
static const cv::Scalar | xrt::tracking::hand::mercury::YELLOW (255, 255, 0) |
static const cv::Scalar | xrt::tracking::hand::mercury::PINK (255, 0, 255) |
static const cv::Scalar | xrt::tracking::hand::mercury::GREEN (0, 255, 0) |
void | xrt::tracking::hand::mercury::init_hand_detection (HandTracking *hgt, onnx_wrap *wrap) |
void | xrt::tracking::hand::mercury::run_hand_detection (void *ptr) |
void | xrt::tracking::hand::mercury::init_keypoint_estimation (HandTracking *hgt, onnx_wrap *wrap) |
void | xrt::tracking::hand::mercury::run_keypoint_estimation (void *ptr) |
void | xrt::tracking::hand::mercury::release_onnx_wrap (onnx_wrap *wrap) |
void | xrt::tracking::hand::mercury::make_projection_instructions (t_camera_model_params &dist, bool flip_after, float expand_val, float twist, Eigen::Array< float, 3, 21 > &joints, projection_instructions &out_instructions, hand21_2d &out_hand) |
void | xrt::tracking::hand::mercury::make_projection_instructions_angular (xrt_vec3 direction_3d, bool flip_after, float angular_radius, float expand_val, float twist, projection_instructions &out_instructions) |
void | xrt::tracking::hand::mercury::stereographic_project_image (const t_camera_model_params &dist, const projection_instructions &instructions, cv::Mat &input_image, cv::Mat *debug_image, const cv::Scalar boundary_color, cv::Mat &out) |
Variables | |
static constexpr uint16_t | xrt::tracking::hand::mercury::kDetectionInputSize = 160 |
static constexpr uint16_t | xrt::tracking::hand::mercury::kKeypointInputSize = 128 |
static constexpr uint16_t | xrt::tracking::hand::mercury::kKeypointOutputHeatmapSize = 22 |
static constexpr uint16_t | xrt::tracking::hand::mercury::kVisSpacerSize = 8 |
static const cv::Scalar | xrt::tracking::hand::mercury::colors [2] = {YELLOW, RED} |
constexpr enum xrt_hand_joint | xrt::tracking::hand::mercury::joints_5x5_to_26 [5][5] |
Mercury main header!
void xrt::tracking::hand::mercury::make_projection_instructions | ( | t_camera_model_params & | dist, |
bool | flip_after, | ||
float | expand_val, | ||
float | twist, | ||
Eigen::Array< float, 3, 21 > & | joints, | ||
projection_instructions & | out_instructions, | ||
hand21_2d & | out_hand | ||
) |
References xrt::tracking::hand::mercury::make_projection_instructions().
Referenced by xrt::tracking::hand::mercury::make_projection_instructions().
void xrt::tracking::hand::mercury::run_keypoint_estimation | ( | void * | ptr | ) |
References xrt::tracking::hand::mercury::run_keypoint_estimation().
Referenced by xrt::tracking::hand::mercury::run_keypoint_estimation().