File image.hpp
Core API objects - image.
Helper functions for slamcore::ImageFormat
-
template<class Archive>
static inline void load_minimal(const Archive&, ImageFormat &obj, const std::string &value)
-
template<class Archive>
static inline std::string save_minimal(const Archive&, const ImageFormat &obj)
-
static inline std::ostream &operator<<(std::ostream &os, const ImageFormat obj)
Helper conversion methods
slamcore::ImageFormat \(\leftrightarrow\) BytesPerChannel
-
template<ImageFormat fmt>
static inline std::size_t ImageFormatToBytesPerPixel()
-
static inline std::size_t ImageFormatToBytesPerPixel(const ImageFormat fmt)
-
template<ImageFormat fmt>
static inline std::size_t ImageFormatToBytesPerChannel()
-
static inline std::size_t ImageFormatToBytesPerChannel(const ImageFormat fmt)
Enums
-
enum class ImageFormat : EnumBaseT
Various internal image formats.
Values:
-
enumerator Custom
Undefined.
-
enumerator Mono_8
8 bit per pixel
-
enumerator Mono_16
16 bit per pixel
-
enumerator Mono_F
32 bit float per pixel
-
enumerator RGB_8
8 bit per component, RGB
-
enumerator RGBA_8
8 bit per component, RGBA
-
enumerator RGB_F
32 bit float per component, RGB
-
enumerator RGBA_F
32 bit float per component, RGBA
-
enumerator JPEG
Binary JPEG data.
-
enumerator Mono_32
32 bit per pixel
-
enumerator Mono_64
64 bit per pixel
-
enumerator Count
-
enumerator Custom
-
template<>
struct ImageFormatTraits<ImageFormat::Mono_8> - #include <image.hpp>
Public Types
-
using ChannelType = uint8_t
-
using ChannelType = uint8_t
-
template<>
struct ImageFormatTraits<ImageFormat::Mono_16> - #include <image.hpp>
Public Types
-
using ChannelType = uint16_t
-
using ChannelType = uint16_t
-
template<>
struct ImageFormatTraits<ImageFormat::Mono_F> - #include <image.hpp>
Public Types
-
using ChannelType = float
-
using ChannelType = float
-
template<>
struct ImageFormatTraits<ImageFormat::RGB_8> - #include <image.hpp>
Public Types
-
using ChannelType = uint8_t
-
using ChannelType = uint8_t
-
template<>
struct ImageFormatTraits<ImageFormat::RGBA_8> - #include <image.hpp>
Public Types
-
using ChannelType = uint8_t
-
using ChannelType = uint8_t
-
template<>
struct ImageFormatTraits<ImageFormat::RGB_F> - #include <image.hpp>
Public Types
-
using ChannelType = float
-
using ChannelType = float
-
template<>
struct ImageFormatTraits<ImageFormat::RGBA_F> - #include <image.hpp>
Public Types
-
using ChannelType = float
-
using ChannelType = float
-
template<>
struct ImageFormatTraits<ImageFormat::Mono_32> - #include <image.hpp>
Public Types
-
using ChannelType = uint32_t
-
using ChannelType = uint32_t
-
template<>
struct ImageFormatTraits<ImageFormat::Mono_64> - #include <image.hpp>
Public Types
-
using ChannelType = uint64_t
-
using ChannelType = uint64_t
-
template<typename T>
struct TypeTraits<T, typename enable_if_is_base_of<ImageInterface, T>::type> - #include <image.hpp>
Public Static Attributes
-
static constexpr ObjectType EnumType = ObjectType::Image
-
static constexpr ObjectType EnumType = ObjectType::Image
-
namespace slamcore
Helper functions for slamcore::ImageFormat
-
template<class Archive>
static inline void load_minimal(const Archive&, ImageFormat &obj, const std::string &value)
-
template<class Archive>
static inline std::string save_minimal(const Archive&, const ImageFormat &obj)
-
static inline std::ostream &operator<<(std::ostream &os, const ImageFormat obj)
Helper conversion methods
slamcore::ImageFormat \(\leftrightarrow\) BytesPerChannel
-
template<ImageFormat fmt>
static inline std::size_t ImageFormatToBytesPerPixel()
-
static inline std::size_t ImageFormatToBytesPerPixel(const ImageFormat fmt)
-
template<ImageFormat fmt>
static inline std::size_t ImageFormatToBytesPerChannel()
-
static inline std::size_t ImageFormatToBytesPerChannel(const ImageFormat fmt)
Get information about the client library
Enums
-
enum class ImageFormat : EnumBaseT
Various internal image formats.
Values:
-
enumerator Custom
Undefined.
-
enumerator Mono_8
8 bit per pixel
-
enumerator Mono_16
16 bit per pixel
-
enumerator Mono_F
32 bit float per pixel
-
enumerator RGB_8
8 bit per component, RGB
-
enumerator RGBA_8
8 bit per component, RGBA
-
enumerator RGB_F
32 bit float per component, RGB
-
enumerator RGBA_F
32 bit float per component, RGBA
-
enumerator JPEG
Binary JPEG data.
-
enumerator Mono_32
32 bit per pixel
-
enumerator Mono_64
64 bit per pixel
-
enumerator Count
-
enumerator Custom
-
template<ImageFormat fmt>
struct ImageFormatTraits - #include <image.hpp>
Traits specific to the corresponding slamcore::ImageFormat they are templated for Supports storing information for the following properties:
Channels
- numbers of associated channelsChannelType
- e.g., float / double, …
- template<> Mono_16 >
- #include <image.hpp>
Public Types
-
using ChannelType = uint16_t
-
using ChannelType = uint16_t
- template<> Mono_32 >
- #include <image.hpp>
Public Types
-
using ChannelType = uint32_t
Public Static Attributes
-
static constexpr std::size_t Channels = 1
-
using ChannelType = uint32_t
- template<> Mono_64 >
- #include <image.hpp>
Public Types
-
using ChannelType = uint64_t
Public Static Attributes
-
static constexpr std::size_t Channels = 1
-
using ChannelType = uint64_t
- template<> Mono_8 >
- #include <image.hpp>
Public Types
-
using ChannelType = uint8_t
Public Static Attributes
-
static constexpr std::size_t Channels = 1
-
using ChannelType = uint8_t
- template<> Mono_F >
- #include <image.hpp>
Public Types
-
using ChannelType = float
Public Static Attributes
-
static constexpr std::size_t Channels = 1
-
using ChannelType = float
- template<> RGB_8 >
- #include <image.hpp>
Public Types
-
using ChannelType = uint8_t
Public Static Attributes
-
static constexpr std::size_t Channels = 3
-
using ChannelType = uint8_t
- template<> RGB_F >
- #include <image.hpp>
Public Types
-
using ChannelType = float
Public Static Attributes
-
static constexpr std::size_t Channels = 3
-
using ChannelType = float
- template<> RGBA_8 >
- #include <image.hpp>
Public Types
-
using ChannelType = uint8_t
Public Static Attributes
-
static constexpr std::size_t Channels = 4
-
using ChannelType = uint8_t
- template<> RGBA_F >
- #include <image.hpp>
Public Types
-
using ChannelType = float
Public Static Attributes
-
static constexpr std::size_t Channels = 4
-
using ChannelType = float
-
class ImageInterface : public MeasurementPoint<camera_clock>
- #include <image.hpp>
Representing a single video frame.
Public Types
-
using Ptr = std::shared_ptr<ImageInterface>
-
using CPtr = std::shared_ptr<const ImageInterface>
-
using MeasurementPointT = MeasurementPoint<camera_clock>
Public Functions
-
virtual ~ImageInterface() = default
-
virtual ImageFormat getFormat() const = 0
Get the internal image data format.
-
virtual std::size_t getWidth() const = 0
Get image width in pixels.
-
virtual std::size_t getHeight() const = 0
Get image height in pixels.
-
virtual std::size_t getPitch() const = 0
Get image line stride in bytes.
-
virtual std::size_t getBytesPerPixel() const = 0
Bytes per pixel.
-
virtual std::size_t getBufferSize() const = 0
Get image total buffer size in bytes.
-
inline virtual camera_duration getExposureTime() const
[OPTIONAL] Get image exposure time.
-
inline virtual float getGain() const
[OPTIONAL] Get image gain.
-
inline virtual bool getAutoExposureEnabled() const
[OPTIONAL] Get image auto-exposure state.
-
inline virtual float getLaserPower() const
[OPTIONAL] Get IR laser projector state at the time of capture.
-
virtual bool isValid() const = 0
Check if the image contains valid data.
-
virtual const uint8_t *getData() const = 0
Returns the internal buffer with image data.
-
using Ptr = std::shared_ptr<ImageInterface>
- template<typename T> type >
- #include <image.hpp>
Public Static Attributes
-
static constexpr ObjectType EnumType = ObjectType::Image
-
static constexpr ObjectType EnumType = ObjectType::Image
-
template<class Archive>