Open3D (C++ API)  0.17.0
AzureKinectSensor.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// Copyright (c) 2018-2023 www.open3d.org
5// SPDX-License-Identifier: MIT
6// ----------------------------------------------------------------------------
7
8#pragma once
9
10#include <memory>
11
14
15struct _k4a_capture_t; // typedef _k4a_capture_t* k4a_capture_t;
16struct _k4a_device_t; // typedef _k4a_device_t* k4a_device_t;
17struct _k4a_transformation_t; // typedef _k4a_transformation_t*
18 // k4a_transformation_t;
19
20namespace open3d {
21namespace geometry {
22class RGBDImage;
23class Image;
24} // namespace geometry
25
26namespace io {
27
28// Avoid including AzureKinectRecorder.h
29class AzureKinectRecorder;
30
35public:
37 AzureKinectSensor(const AzureKinectSensorConfig& sensor_config);
39
40 bool Connect(size_t sensor_index) override;
41 void Disconnect();
42 std::shared_ptr<geometry::RGBDImage> CaptureFrame(
43 bool enable_align_depth_to_color) const override;
44
45 static bool PrintFirmware(_k4a_device_t* device);
47 static bool ListDevices();
48 static std::shared_ptr<geometry::RGBDImage> DecompressCapture(
49 _k4a_capture_t* capture, _k4a_transformation_t* transformation);
50
51protected:
52 _k4a_capture_t* CaptureRawFrame() const;
53
55 _k4a_transformation_t* transform_depth_to_color_;
56 _k4a_device_t* device_;
58
59 friend class AzureKinectRecorder;
60};
61
62} // namespace io
63} // namespace open3d
Definition: AzureKinectRecorder.h:32
Definition: AzureKinectSensorConfig.h:26
Definition: AzureKinectSensor.h:34
_k4a_transformation_t * transform_depth_to_color_
Definition: AzureKinectSensor.h:55
static std::shared_ptr< geometry::RGBDImage > DecompressCapture(_k4a_capture_t *capture, _k4a_transformation_t *transformation)
Definition: AzureKinectSensor.cpp:233
std::shared_ptr< geometry::RGBDImage > CaptureFrame(bool enable_align_depth_to_color) const override
Definition: AzureKinectSensor.cpp:132
_k4a_device_t * device_
Definition: AzureKinectSensor.h:56
int timeout_
Definition: AzureKinectSensor.h:57
bool Connect(size_t sensor_index) override
Definition: AzureKinectSensor.cpp:29
void Disconnect()
Definition: AzureKinectSensor.cpp:110
static bool PrintFirmware(_k4a_device_t *device)
Definition: AzureKinectSensor.cpp:179
AzureKinectSensorConfig sensor_config_
Definition: AzureKinectSensor.h:54
AzureKinectSensor(const AzureKinectSensorConfig &sensor_config)
Default Constructor.
Definition: AzureKinectSensor.cpp:23
static bool ListDevices()
List available Azure Kinect devices.
Definition: AzureKinectSensor.cpp:212
_k4a_capture_t * CaptureRawFrame() const
Definition: AzureKinectSensor.cpp:115
~AzureKinectSensor()
Definition: AzureKinectSensor.cpp:27
Definition: RGBDSensor.h:22
Definition: PinholeCameraIntrinsic.cpp:16