Program Listing for File ImgFrameCapability.hpp
↰ Return to documentation for file (include/depthai/capabilities/ImgFrameCapability.hpp)
#pragma once
// C++ std
#include <cstdint>
#include <optional>
// libraries
#include "depthai/utility/spimpl.h"
// depthai public
#include <depthai/capabilities/Capability.hpp>
#include <depthai/capabilities/CapabilityRange.hpp>
#include <depthai/common/optional.hpp>
#include <depthai/pipeline/datatype/ImgFrame.hpp>
#include <depthai/utility/Serialization.hpp>
namespace dai {
enum struct ImgResizeMode {
CROP,
STRETCH,
LETTERBOX,
};
class ImgFrameCapability : public CapabilityCRTP<Capability, ImgFrameCapability> {
public:
constexpr static const char* NAME = "dai/img-frame";
// Capability getIntersection(const Capability& other) override;
CapabilityRange<std::pair<uint32_t, uint32_t>> size;
CapabilityRange<float> fps;
std::optional<ImgFrame::Type> type;
ImgResizeMode resizeMode{ImgResizeMode::CROP};
std::optional<bool> enableUndistortion;
// TODO(jakgra) add optional CapabilityRange fov / max-min horiz. / vertical crop;
~ImgFrameCapability() override;
DEPTHAI_SERIALIZE(ImgFrameCapability, size, fps, type, resizeMode, enableUndistortion);
private:
class Impl;
spimpl::impl_ptr<Impl> pimpl;
};
} // namespace dai