RawImageManipConfig.hpp
Go to the documentation of this file.
1 #pragma once
2 #include <cstdint>
3 #include <vector>
4 
5 #include "RawImgFrame.hpp"
8 
9 // shared
16 
17 namespace dai {
18 
20 struct RawImageManipConfig : public RawBuffer {
21  // NNData data is in PoBuf
22  struct CropRect {
23  // Normalized range 0-1
24  float xmin = 0.0f, ymin = 0.0f, xmax = 0.0f, ymax = 0.0f;
25 
27  };
28 
29  struct CropConfig {
32 
34  // if enableCenterCropRectangle -> automatically calculated crop parameters
35  float cropRatio = 1.0f, widthHeightAspectRatio = 1.0f;
36 
37  bool enableRotatedRect = false;
38 
39  // Range 0..1 by default. Set 'false' to specify in pixels
40  bool normalizedCoords = true;
41 
44  };
45 
46  struct ResizeConfig {
47  int width = 0, height = 0;
48  bool lockAspectRatioFill = false;
49  char bgRed = 0, bgGreen = 0, bgBlue = 0;
50 
51  // clockwise order, pt[0] is mapped to the top-left output corner
52  std::vector<Point2f> warpFourPoints;
53  bool normalizedCoords = true;
54  bool enableWarp4pt = false;
55 
56  std::vector<float> warpMatrix3x3;
57  bool enableWarpMatrix = false;
58 
59  // Warp background / border mode: replicates pixels if true,
60  // otherwise fills with a constant color defined by: bgRed, bgGreen, bgBlue
61  bool warpBorderReplicate = false;
62 
63  // clockwise
65  bool enableRotation = false;
66 
70  bool keepAspectRatio = true;
71 
73  width,
74  height,
76  bgRed,
77  bgGreen,
78  bgBlue,
88  };
89 
90  struct FormatConfig {
92  bool flipHorizontal = false;
93  bool flipVertical = false;
95  int colormapMin = 0;
96  int colormapMax = 255;
97 
99  };
100 
104 
105  bool enableCrop = false;
106  bool enableResize = false;
107  bool enableFormat = false;
108 
109  // Usable with runtime config only,
110  // when ImageManipProperties.inputConfig.setWaitForMessage(true) is set
111  bool reusePreviousImage = false;
112  bool skipCurrentImage = false;
113 
116 
117  void serialize(std::vector<std::uint8_t>& metadata, DatatypeEnum& datatype) const override {
118  metadata = utility::serialize(*this);
120  };
121 
122  DatatypeEnum getType() const override {
124  }
125 
127  cropConfig,
128  resizeConfig,
129  formatConfig,
130  enableCrop,
131  enableResize,
132  enableFormat,
135  interpolation);
136 };
137 
138 } // namespace dai
dai::RawImageManipConfig::cropConfig
CropConfig cropConfig
Definition: RawImageManipConfig.hpp:101
Interpolation.hpp
dai::RawImageManipConfig::CropConfig::cropRect
CropRect cropRect
Definition: RawImageManipConfig.hpp:30
dai::RawImageManipConfig::FormatConfig::flipVertical
bool flipVertical
Definition: RawImageManipConfig.hpp:93
dai::RawImageManipConfig::CropConfig::widthHeightAspectRatio
float widthHeightAspectRatio
Definition: RawImageManipConfig.hpp:35
dai::RotatedRect
RotatedRect structure.
Definition: RotatedRect.hpp:14
dai::RawImageManipConfig::ResizeConfig
Definition: RawImageManipConfig.hpp:46
dai::RawImageManipConfig::FormatConfig::flipHorizontal
bool flipHorizontal
Definition: RawImageManipConfig.hpp:92
dai::RawImageManipConfig::ResizeConfig::rotationAngleDeg
float rotationAngleDeg
Definition: RawImageManipConfig.hpp:64
dai::DatatypeEnum::ImageManipConfig
@ ImageManipConfig
dai::DatatypeEnum
DatatypeEnum
Definition: DatatypeEnum.hpp:7
dai::RawImageManipConfig::ResizeConfig::keepAspectRatio
bool keepAspectRatio
Definition: RawImageManipConfig.hpp:70
dai::RawImageManipConfig::enableResize
bool enableResize
Definition: RawImageManipConfig.hpp:106
dai::RawImageManipConfig::ResizeConfig::normalizedCoords
bool normalizedCoords
Definition: RawImageManipConfig.hpp:53
dai::RawImageManipConfig::ResizeConfig::enableWarpMatrix
bool enableWarpMatrix
Definition: RawImageManipConfig.hpp:57
dai::RawImageManipConfig::getType
DatatypeEnum getType() const override
Definition: RawImageManipConfig.hpp:122
dai::RawImageManipConfig::reusePreviousImage
bool reusePreviousImage
Definition: RawImageManipConfig.hpp:111
dai::RawImageManipConfig::ResizeConfig::warpBorderReplicate
bool warpBorderReplicate
Definition: RawImageManipConfig.hpp:61
dai::RawImageManipConfig::CropConfig::enableRotatedRect
bool enableRotatedRect
Definition: RawImageManipConfig.hpp:37
Colormap.hpp
dai::RawImageManipConfig::CropConfig
Definition: RawImageManipConfig.hpp:29
dai::RawImgFrame::Type
Type
Definition: RawImgFrame.hpp:13
dai::RawImageManipConfig::formatConfig
FormatConfig formatConfig
Definition: RawImageManipConfig.hpp:103
dai::RawImageManipConfig
RawImageManipConfig structure.
Definition: RawImageManipConfig.hpp:20
dai::RawImageManipConfig::CropConfig::normalizedCoords
bool normalizedCoords
Definition: RawImageManipConfig.hpp:40
dai::RawImageManipConfig::FormatConfig::colormapMax
int colormapMax
Definition: RawImageManipConfig.hpp:96
dai::RawImageManipConfig::CropConfig::DEPTHAI_SERIALIZE
DEPTHAI_SERIALIZE(CropConfig, cropRect, cropRotatedRect, enableCenterCropRectangle, cropRatio, widthHeightAspectRatio, enableRotatedRect, normalizedCoords)
dai::RawImageManipConfig::CropRect::xmax
float xmax
Definition: RawImageManipConfig.hpp:24
dai::RawImageManipConfig::CropConfig::cropRotatedRect
RotatedRect cropRotatedRect
Definition: RawImageManipConfig.hpp:31
dai::utility::serialize
bool serialize(const T &obj, std::vector< std::uint8_t > &data)
Definition: Serialization.hpp:38
dai::RawImageManipConfig::CropRect::DEPTHAI_SERIALIZE
DEPTHAI_SERIALIZE(CropRect, xmin, ymin, xmax, ymax)
DatatypeEnum.hpp
RotatedRect.hpp
dai::RawImageManipConfig::ResizeConfig::height
int height
Definition: RawImageManipConfig.hpp:47
dai::RawImageManipConfig::ResizeConfig::lockAspectRatioFill
bool lockAspectRatioFill
Definition: RawImageManipConfig.hpp:48
dai::RawImageManipConfig::FormatConfig::type
RawImgFrame::Type type
Definition: RawImageManipConfig.hpp:91
dai::RawImageManipConfig::ResizeConfig::bgBlue
char bgBlue
Definition: RawImageManipConfig.hpp:49
RawImgFrame.hpp
dai::Interpolation
Interpolation
Definition: Interpolation.hpp:10
dai::RawImageManipConfig::resizeConfig
ResizeConfig resizeConfig
Definition: RawImageManipConfig.hpp:102
dai::RawImageManipConfig::CropRect::ymax
float ymax
Definition: RawImageManipConfig.hpp:24
dai::Colormap
Colormap
Camera sensor type.
Definition: Colormap.hpp:8
dai::RawImageManipConfig::ResizeConfig::bgGreen
char bgGreen
Definition: RawImageManipConfig.hpp:49
RawBuffer.hpp
dai::RawImageManipConfig::FormatConfig::colormap
Colormap colormap
Definition: RawImageManipConfig.hpp:94
dai::RawImageManipConfig::FormatConfig::colormapMin
int colormapMin
Definition: RawImageManipConfig.hpp:95
dai::RawImageManipConfig::ResizeConfig::bgRed
char bgRed
Definition: RawImageManipConfig.hpp:49
dai::RawImageManipConfig::serialize
void serialize(std::vector< std::uint8_t > &metadata, DatatypeEnum &datatype) const override
Definition: RawImageManipConfig.hpp:117
dai::RawImageManipConfig::enableFormat
bool enableFormat
Definition: RawImageManipConfig.hpp:107
dai::RawImageManipConfig::CropRect::xmin
float xmin
Definition: RawImageManipConfig.hpp:24
dai::RawImageManipConfig::CropRect::ymin
float ymin
Definition: RawImageManipConfig.hpp:24
Serialization.hpp
dai::Colormap::NONE
@ NONE
dai::RawImageManipConfig::FormatConfig::DEPTHAI_SERIALIZE
DEPTHAI_SERIALIZE(FormatConfig, type, flipHorizontal, flipVertical, colormap, colormapMin, colormapMax)
dai::RawImageManipConfig::ResizeConfig::enableRotation
bool enableRotation
Definition: RawImageManipConfig.hpp:65
dai::RawImageManipConfig::enableCrop
bool enableCrop
Definition: RawImageManipConfig.hpp:105
Size2f.hpp
dai::RawImageManipConfig::CropRect
Definition: RawImageManipConfig.hpp:22
dai::RawImgFrame::Type::NONE
@ NONE
dai::RawImageManipConfig::skipCurrentImage
bool skipCurrentImage
Definition: RawImageManipConfig.hpp:112
Point2f.hpp
dai::RawImageManipConfig::interpolation
Interpolation interpolation
Interpolation type to use.
Definition: RawImageManipConfig.hpp:115
dai::RawImageManipConfig::DEPTHAI_SERIALIZE
DEPTHAI_SERIALIZE(RawImageManipConfig, cropConfig, resizeConfig, formatConfig, enableCrop, enableResize, enableFormat, reusePreviousImage, skipCurrentImage, interpolation)
dai::RawImageManipConfig::ResizeConfig::width
int width
Definition: RawImageManipConfig.hpp:47
dai::RawBuffer
RawBuffer structure.
Definition: RawBuffer.hpp:12
dai::RawImageManipConfig::CropConfig::enableCenterCropRectangle
bool enableCenterCropRectangle
Definition: RawImageManipConfig.hpp:33
dai::Interpolation::AUTO
@ AUTO
dai::RawImageManipConfig::ResizeConfig::DEPTHAI_SERIALIZE
DEPTHAI_SERIALIZE(ResizeConfig, width, height, lockAspectRatioFill, bgRed, bgGreen, bgBlue, warpFourPoints, normalizedCoords, enableWarp4pt, warpMatrix3x3, enableWarpMatrix, warpBorderReplicate, rotationAngleDeg, enableRotation, keepAspectRatio)
dai::RawImageManipConfig::FormatConfig
Definition: RawImageManipConfig.hpp:90
dai::RawImageManipConfig::CropConfig::cropRatio
float cropRatio
Definition: RawImageManipConfig.hpp:35
dai::RawImageManipConfig::ResizeConfig::warpFourPoints
std::vector< Point2f > warpFourPoints
Definition: RawImageManipConfig.hpp:52
dai::RawImageManipConfig::ResizeConfig::enableWarp4pt
bool enableWarp4pt
Definition: RawImageManipConfig.hpp:54
dai
Definition: CameraExposureOffset.hpp:6
dai::RawImageManipConfig::ResizeConfig::warpMatrix3x3
std::vector< float > warpMatrix3x3
Definition: RawImageManipConfig.hpp:56


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:19