Warp.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 // #include <depthai/pipeline/datatype/WarpConfig.hpp>
5 
6 // shared
9 
10 namespace dai {
11 namespace node {
12 
16 class Warp : public NodeCRTP<Node, Warp, WarpProperties> {
17  public:
18  constexpr static const char* NAME = "Warp";
19 
20  protected:
22 
23  private:
24  void setWarpMesh(const float* meshData, int numMeshPoints, int width, int height);
25 
26  public:
27  Warp(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId);
28  Warp(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId, std::unique_ptr<Properties> props);
29 
30  // /**
31  // * Initial config to use when manipulating frames
32  // */
33  // WarpConfig initialConfig;
34 
35  // /**
36  // * Input WarpConfig message with ability to modify parameters in runtime
37  // * Default queue is blocking with size 8
38  // */
39  // Input inputConfig{*this, "inputConfig", Input::Type::SReceiver, true, 8, {{DatatypeEnum::WarpConfig, true}}};
40 
45  Input inputImage{*this, "inputImage", Input::Type::SReceiver, true, 8, true, {{DatatypeEnum::ImgFrame, true}}};
46 
50  Output out{*this, "out", Output::Type::MSender, {{DatatypeEnum::ImgFrame, true}}};
51 
57  void setOutputSize(std::tuple<int, int> size);
58  void setOutputSize(int width, int height);
59 
66  void setWarpMesh(const std::vector<Point2f>& meshData, int width, int height);
67  void setWarpMesh(const std::vector<std::pair<float, float>>& meshData, int width, int height);
68 
73  void setNumFramesPool(int numFramesPool);
74 
79  void setMaxOutputFrameSize(int maxFrameSize);
80 
85  void setHwIds(std::vector<int> ids);
87  std::vector<int> getHwIds() const;
88 
93  void setInterpolation(dai::Interpolation interpolation);
96 };
97 
98 } // namespace node
99 } // namespace dai
dai::node::Warp::out
Output out
Definition: Warp.hpp:50
dai::node::Warp::setNumFramesPool
void setNumFramesPool(int numFramesPool)
Definition: Warp.cpp:26
dai::NodeCRTP
Definition: Node.hpp:342
dai::node::Warp::setHwIds
void setHwIds(std::vector< int > ids)
Definition: Warp.cpp:81
dai::node::Warp::setOutputSize
void setOutputSize(std::tuple< int, int > size)
Definition: Warp.cpp:17
dai::node::Warp::inputImage
Input inputImage
Definition: Warp.hpp:45
dai::Interpolation
Interpolation
Definition: Interpolation.hpp:10
dai::node::Warp::setMaxOutputFrameSize
void setMaxOutputFrameSize(int maxFrameSize)
Definition: Warp.cpp:30
dai::node::Warp::NAME
constexpr static const char * NAME
Definition: Warp.hpp:18
dai::node::Warp
Warp node. Capability to crop, resize, warp, ... incoming image frames.
Definition: Warp.hpp:16
DAI_SPAN_NAMESPACE_NAME::detail::size
constexpr auto size(const C &c) -> decltype(c.size())
Definition: span.hpp:167
dai::node::Warp::setWarpMesh
void setWarpMesh(const float *meshData, int numMeshPoints, int width, int height)
Definition: Warp.cpp:34
dai::Node::Input
Definition: Node.hpp:147
dai::node::Warp::getProperties
Properties & getProperties()
Definition: Warp.cpp:12
dai::Properties
Base Properties structure.
Definition: Properties.hpp:8
dai::node::Warp::getInterpolation
dai::Interpolation getInterpolation() const
Retrieve which interpolation method to use.
Definition: Warp.cpp:93
dai::node::Warp::Warp
Warp(const std::shared_ptr< PipelineImpl > &par, int64_t nodeId)
Definition: Warp.cpp:5
Point2f.hpp
dai::node::Warp::setInterpolation
void setInterpolation(dai::Interpolation interpolation)
Definition: Warp.cpp:89
dai::node::Warp::getHwIds
std::vector< int > getHwIds() const
Retrieve which hardware warp engines to use.
Definition: Warp.cpp:85
WarpProperties.hpp
dai::DatatypeEnum::ImgFrame
@ ImgFrame
dai
Definition: CameraExposureOffset.hpp:6
Node.hpp


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