ImageManip.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
6 // shared
8 
9 namespace dai {
10 namespace node {
11 
15 class ImageManip : public NodeCRTP<Node, ImageManip, ImageManipProperties> {
16  public:
17  constexpr static const char* NAME = "ImageManip";
18 
19  protected:
21 
22  private:
23  std::shared_ptr<RawImageManipConfig> rawConfig;
24 
25  void setWarpMesh(const float* meshData, int numMeshPoints, int width, int height);
26 
27  public:
28  ImageManip(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId);
29  ImageManip(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId, std::unique_ptr<Properties> props);
30 
35 
40  Input inputConfig{*this, "inputConfig", Input::Type::SReceiver, true, 8, {{DatatypeEnum::ImageManipConfig, true}}};
41 
46  Input inputImage{*this, "inputImage", Input::Type::SReceiver, true, 8, true, {{DatatypeEnum::ImgFrame, true}}};
47 
51  Output out{*this, "out", Output::Type::MSender, {{DatatypeEnum::ImgFrame, true}}};
52 
53  // Functions to set ImageManipConfig - deprecated
54  [[deprecated("Use 'initialConfig.setCropRect()' instead")]] void setCropRect(float xmin, float ymin, float xmax, float ymax);
55  [[deprecated("Use 'initialConfig.setCenterCrop()' instead")]] void setCenterCrop(float ratio, float whRatio = 1.0f);
56  [[deprecated("Use 'initialConfig.setResize()' instead")]] void setResize(int w, int h);
57  [[deprecated("Use 'initialConfig.setResizeThumbnail()' instead")]] void setResizeThumbnail(int w, int h, int bgRed = 0, int bgGreen = 0, int bgBlue = 0);
58  [[deprecated("Use 'initialConfig.setFrameType()' instead")]] void setFrameType(ImgFrame::Type name);
59  [[deprecated("Use 'initialConfig.setHorizontalFlip()' instead")]] void setHorizontalFlip(bool flip);
60  void setKeepAspectRatio(bool keep);
61 
62  // Functions to set properties
67  [[deprecated("Use 'inputConfig.setWaitForMessage()' instead")]] void setWaitForConfigInput(bool wait);
68 
73  [[deprecated("Use 'inputConfig.setWaitForMessage()' instead")]] bool getWaitForConfigInput() const;
74 
79  void setNumFramesPool(int numFramesPool);
80 
85  void setMaxOutputFrameSize(int maxFrameSize);
86 
93  void setWarpMesh(const std::vector<Point2f>& meshData, int width, int height);
94  void setWarpMesh(const std::vector<std::pair<float, float>>& meshData, int width, int height);
95 };
96 
97 } // namespace node
98 } // namespace dai
dai::node::ImageManip::inputImage
Input inputImage
Definition: ImageManip.hpp:46
dai::node::ImageManip::NAME
constexpr static const char * NAME
Definition: ImageManip.hpp:17
dai::DatatypeEnum::ImageManipConfig
@ ImageManipConfig
dai::node::ImageManip::setHorizontalFlip
void setHorizontalFlip(bool flip)
Definition: ImageManip.cpp:45
dai::node::ImageManip::setNumFramesPool
void setNumFramesPool(int numFramesPool)
Definition: ImageManip.cpp:64
dai::RawImgFrame::Type
Type
Definition: RawImgFrame.hpp:13
dai::node::ImageManip::setKeepAspectRatio
void setKeepAspectRatio(bool keep)
Definition: ImageManip.cpp:50
dai::node::ImageManip::setResizeThumbnail
void setResizeThumbnail(int w, int h, int bgRed=0, int bgGreen=0, int bgBlue=0)
Definition: ImageManip.cpp:35
dai::node::ImageManip::getWaitForConfigInput
bool getWaitForConfigInput() const
Definition: ImageManip.cpp:60
ImageManipProperties.hpp
dai::NodeCRTP
Definition: Node.hpp:342
dai::node::ImageManip::setCenterCrop
void setCenterCrop(float ratio, float whRatio=1.0f)
Definition: ImageManip.cpp:25
dai::node::ImageManip::setWarpMesh
void setWarpMesh(const float *meshData, int numMeshPoints, int width, int height)
Definition: ImageManip.cpp:72
dai::node::ImageManip::inputConfig
Input inputConfig
Definition: ImageManip.hpp:40
dai::Node::Input
Definition: Node.hpp:147
dai::node::ImageManip::setResize
void setResize(int w, int h)
Definition: ImageManip.cpp:30
dai::node::ImageManip::out
Output out
Definition: ImageManip.hpp:51
dai::node::ImageManip::setCropRect
void setCropRect(float xmin, float ymin, float xmax, float ymax)
Definition: ImageManip.cpp:20
dai::Properties
Base Properties structure.
Definition: Properties.hpp:8
dai::node::ImageManip::setMaxOutputFrameSize
void setMaxOutputFrameSize(int maxFrameSize)
Definition: ImageManip.cpp:68
dai::node::ImageManip
ImageManip node. Capability to crop, resize, warp, ... incoming image frames.
Definition: ImageManip.hpp:15
ImageManipConfig.hpp
dai::node::ImageManip::initialConfig
ImageManipConfig initialConfig
Definition: ImageManip.hpp:34
dai::node::ImageManip::ImageManip
ImageManip(const std::shared_ptr< PipelineImpl > &par, int64_t nodeId)
Definition: ImageManip.cpp:5
dai::node::ImageManip::getProperties
Properties & getProperties()
Definition: ImageManip.cpp:14
dai::node::ImageManip::setFrameType
void setFrameType(ImgFrame::Type name)
Definition: ImageManip.cpp:40
dai::ImageManipConfig
Definition: ImageManipConfig.hpp:23
dai::node::ImageManip::rawConfig
std::shared_ptr< RawImageManipConfig > rawConfig
Definition: ImageManip.hpp:23
dai::DatatypeEnum::ImgFrame
@ ImgFrame
dai
Definition: CameraExposureOffset.hpp:6
dai::node::ImageManip::setWaitForConfigInput
void setWaitForConfigInput(bool wait)
Definition: ImageManip.cpp:56
Node.hpp


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