Open3D (C++ API)  0.12.0
RGBDVideoReader.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - Open3D: www.open3d.org -
3 // ----------------------------------------------------------------------------
4 // The MIT License (MIT)
5 //
6 // Copyright (c) 2018 www.open3d.org
7 //
8 // Permission is hereby granted, free of charge, to any person obtaining a copy
9 // of this software and associated documentation files (the "Software"), to deal
10 // in the Software without restriction, including without limitation the rights
11 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 // copies of the Software, and to permit persons to whom the Software is
13 // furnished to do so, subject to the following conditions:
14 //
15 // The above copyright notice and this permission notice shall be included in
16 // all copies or substantial portions of the Software.
17 //
18 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
24 // IN THE SOFTWARE.
25 // ----------------------------------------------------------------------------
26 
27 #pragma once
28 
32 
33 namespace open3d {
34 namespace t {
35 namespace io {
36 
38 public:
40  virtual ~RGBDVideoReader() {}
41 
43  virtual bool IsOpened() const = 0;
44 
46  virtual bool IsEOF() const = 0;
47 
51  virtual bool Open(const std::string &filename) = 0;
52 
54  virtual void Close() = 0;
55 
57  virtual RGBDVideoMetadata &GetMetadata() = 0;
58 
60  virtual const RGBDVideoMetadata &GetMetadata() const = 0;
61 
63  virtual bool SeekTimestamp(uint64_t timestamp) = 0;
64 
66  virtual uint64_t GetTimestamp() const = 0;
67 
69  virtual t::geometry::RGBDImage NextFrame() = 0;
70 
76  //
78  //
81  virtual void SaveFrames(const std::string &frame_path,
82  uint64_t start_time_us = 0,
83  uint64_t end_time_us = UINT64_MAX);
84 
86  virtual std::string GetFilename() const = 0;
87 
89  virtual std::string ToString() const;
90 
92  static std::shared_ptr<RGBDVideoReader> Create(const std::string &filename);
93 };
94 
95 } // namespace io
96 } // namespace t
97 } // namespace open3d
static std::shared_ptr< RGBDVideoReader > Create(const std::string &filename)
Factory function to create object based on RGBD video file type.
Definition: RGBDVideoReader.cpp:97
virtual void SaveFrames(const std::string &frame_path, uint64_t start_time_us=0, uint64_t end_time_us=UINT64_MAX)
Definition: RGBDVideoReader.cpp:51
virtual RGBDVideoMetadata & GetMetadata()=0
Get reference to the metadata of the RGBD video playback.
const char const char value recording_handle imu_sample recording_handle uint8_t size_t data_size k4a_record_configuration_t config target_format k4a_capture_t capture_handle k4a_imu_sample_t imu_sample uint64_t
Definition: K4aPlugin.cpp:352
virtual bool IsEOF() const =0
Check if the RGBD video file is all read.
RGBDVideoReader()
Definition: RGBDVideoReader.h:39
virtual bool Open(const std::string &filename)=0
virtual uint64_t GetTimestamp() const =0
Get current timestamp (in us).
RGBD video metadata.
Definition: RGBDVideoMetadata.h:45
virtual void Close()=0
Close the opened RGBD video playback.
virtual bool SeekTimestamp(uint64_t timestamp)=0
Seek to the timestamp (in us).
Definition: RGBDVideoReader.h:37
virtual bool IsOpened() const =0
Check If the RGBD video file is opened.
virtual std::string GetFilename() const =0
Return filename being read.
Definition: PinholeCameraIntrinsic.cpp:35
RGBDImage A pair of color and depth images.
Definition: RGBDImage.h:40
virtual ~RGBDVideoReader()
Definition: RGBDVideoReader.h:40
virtual t::geometry::RGBDImage NextFrame()=0
Get next frame from the RGBD video playback and returns the RGBD object.
virtual std::string ToString() const
Text description.
Definition: RGBDVideoReader.cpp:40