Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
dai::node::ImageManip Class Reference

ImageManip node. Capability to crop, resize, warp, ... incoming image frames. More...

#include <ImageManip.hpp>

Inheritance diagram for dai::node::ImageManip:
Inheritance graph
[legend]

Public Member Functions

bool getWaitForConfigInput () const
 
 ImageManip (const std::shared_ptr< PipelineImpl > &par, int64_t nodeId)
 
 ImageManip (const std::shared_ptr< PipelineImpl > &par, int64_t nodeId, std::unique_ptr< Properties > props)
 
void setCenterCrop (float ratio, float whRatio=1.0f)
 
void setCropRect (float xmin, float ymin, float xmax, float ymax)
 
void setFrameType (ImgFrame::Type name)
 
void setHorizontalFlip (bool flip)
 
void setKeepAspectRatio (bool keep)
 
void setMaxOutputFrameSize (int maxFrameSize)
 
void setNumFramesPool (int numFramesPool)
 
void setResize (int w, int h)
 
void setResizeThumbnail (int w, int h, int bgRed=0, int bgGreen=0, int bgBlue=0)
 
void setWaitForConfigInput (bool wait)
 
void setWarpMesh (const std::vector< Point2f > &meshData, int width, int height)
 
void setWarpMesh (const std::vector< std::pair< float, float >> &meshData, int width, int height)
 
- Public Member Functions inherited from dai::NodeCRTP< Node, ImageManip, ImageManipProperties >
std::unique_ptr< Nodeclone () const override
 
const char * getName () const override
 
- Public Member Functions inherited from dai::Node
virtual std::unique_ptr< Nodeclone () const =0
 Deep copy the node. More...
 
AssetManagergetAssetManager ()
 Get node AssetManager as a reference. More...
 
const AssetManagergetAssetManager () const
 Get node AssetManager as a const reference. More...
 
std::vector< Input * > getInputRefs ()
 Retrieves reference to node inputs. More...
 
std::vector< const Input * > getInputRefs () const
 Retrieves reference to node inputs. More...
 
std::vector< InputgetInputs ()
 Retrieves all nodes inputs. More...
 
virtual const char * getName () const =0
 Retrieves nodes name. More...
 
std::vector< Output * > getOutputRefs ()
 Retrieves reference to node outputs. More...
 
std::vector< const Output * > getOutputRefs () const
 Retrieves reference to node outputs. More...
 
std::vector< OutputgetOutputs ()
 Retrieves all nodes outputs. More...
 
Pipeline getParentPipeline ()
 
const Pipeline getParentPipeline () const
 
 Node (const std::shared_ptr< PipelineImpl > &p, Id nodeId, std::unique_ptr< Properties > props)
 Constructs Node. More...
 
virtual ~Node ()=default
 

Public Attributes

ImageManipConfig initialConfig
 
Input inputConfig {*this, "inputConfig", Input::Type::SReceiver, true, 8, {{DatatypeEnum::ImageManipConfig, true}}}
 
Input inputImage {*this, "inputImage", Input::Type::SReceiver, true, 8, true, {{DatatypeEnum::ImgFrame, true}}}
 
Output out {*this, "out", Output::Type::MSender, {{DatatypeEnum::ImgFrame, true}}}
 
- Public Attributes inherited from dai::NodeCRTP< Node, ImageManip, ImageManipProperties >
Propertiesproperties
 Underlying properties. More...
 
- Public Attributes inherited from dai::Node
const Id id
 Id of node. More...
 
Propertiesproperties
 

Static Public Attributes

constexpr static const char * NAME = "ImageManip"
 

Protected Member Functions

PropertiesgetProperties ()
 
- Protected Member Functions inherited from dai::Node
virtual tl::optional< OpenVINO::VersiongetRequiredOpenVINOVersion ()
 
void setInputMapRefs (InputMap *inMapRef)
 
void setInputMapRefs (std::initializer_list< InputMap * > l)
 
void setInputRefs (Input *inRef)
 
void setInputRefs (std::initializer_list< Input * > l)
 
void setOutputMapRefs (OutputMap *outMapRef)
 
void setOutputMapRefs (std::initializer_list< OutputMap * > l)
 
void setOutputRefs (Output *outRef)
 
void setOutputRefs (std::initializer_list< Output * > l)
 

Private Member Functions

void setWarpMesh (const float *meshData, int numMeshPoints, int width, int height)
 

Private Attributes

std::shared_ptr< RawImageManipConfigrawConfig
 

Additional Inherited Members

- Public Types inherited from dai::NodeCRTP< Node, ImageManip, ImageManipProperties >
using Properties = ImageManipProperties
 
- Public Types inherited from dai::Node
using Id = std::int64_t
 Node identificator. Unique for every node on a single Pipeline. More...
 
- Protected Attributes inherited from dai::Node
AssetManager assetManager
 
std::unordered_map< std::string, InputMap * > inputMapRefs
 
std::unordered_map< std::string, Input * > inputRefs
 
std::unordered_map< std::string, OutputMap * > outputMapRefs
 
std::unordered_map< std::string, Output * > outputRefs
 
std::weak_ptr< PipelineImplparent
 
copyable_unique_ptr< PropertiespropertiesHolder
 

Detailed Description

ImageManip node. Capability to crop, resize, warp, ... incoming image frames.

Definition at line 15 of file ImageManip.hpp.

Constructor & Destructor Documentation

◆ ImageManip() [1/2]

dai::node::ImageManip::ImageManip ( const std::shared_ptr< PipelineImpl > &  par,
int64_t  nodeId 
)

Definition at line 5 of file ImageManip.cpp.

◆ ImageManip() [2/2]

dai::node::ImageManip::ImageManip ( const std::shared_ptr< PipelineImpl > &  par,
int64_t  nodeId,
std::unique_ptr< Properties props 
)

Definition at line 6 of file ImageManip.cpp.

Member Function Documentation

◆ getProperties()

ImageManip::Properties & dai::node::ImageManip::getProperties ( )
protectedvirtual

Reimplemented from dai::Node.

Definition at line 14 of file ImageManip.cpp.

◆ getWaitForConfigInput()

bool dai::node::ImageManip::getWaitForConfigInput ( ) const
See also
setWaitForConfigInput
Returns
True if wait for inputConfig message, false otherwise

Definition at line 60 of file ImageManip.cpp.

◆ setCenterCrop()

void dai::node::ImageManip::setCenterCrop ( float  ratio,
float  whRatio = 1.0f 
)

Definition at line 25 of file ImageManip.cpp.

◆ setCropRect()

void dai::node::ImageManip::setCropRect ( float  xmin,
float  ymin,
float  xmax,
float  ymax 
)

Definition at line 20 of file ImageManip.cpp.

◆ setFrameType()

void dai::node::ImageManip::setFrameType ( ImgFrame::Type  name)

Definition at line 40 of file ImageManip.cpp.

◆ setHorizontalFlip()

void dai::node::ImageManip::setHorizontalFlip ( bool  flip)

Definition at line 45 of file ImageManip.cpp.

◆ setKeepAspectRatio()

void dai::node::ImageManip::setKeepAspectRatio ( bool  keep)

Definition at line 50 of file ImageManip.cpp.

◆ setMaxOutputFrameSize()

void dai::node::ImageManip::setMaxOutputFrameSize ( int  maxFrameSize)

Specify maximum size of output image.

Parameters
maxFrameSizeMaximum frame size in bytes

Definition at line 68 of file ImageManip.cpp.

◆ setNumFramesPool()

void dai::node::ImageManip::setNumFramesPool ( int  numFramesPool)

Specify number of frames in pool.

Parameters
numFramesPoolHow many frames should the pool have

Definition at line 64 of file ImageManip.cpp.

◆ setResize()

void dai::node::ImageManip::setResize ( int  w,
int  h 
)

Definition at line 30 of file ImageManip.cpp.

◆ setResizeThumbnail()

void dai::node::ImageManip::setResizeThumbnail ( int  w,
int  h,
int  bgRed = 0,
int  bgGreen = 0,
int  bgBlue = 0 
)

Definition at line 35 of file ImageManip.cpp.

◆ setWaitForConfigInput()

void dai::node::ImageManip::setWaitForConfigInput ( bool  wait)

Specify whether or not wait until configuration message arrives to inputConfig Input.

Parameters
waitTrue to wait for configuration message, false otherwise.

Definition at line 56 of file ImageManip.cpp.

◆ setWarpMesh() [1/3]

void dai::node::ImageManip::setWarpMesh ( const float *  meshData,
int  numMeshPoints,
int  width,
int  height 
)
private

Definition at line 72 of file ImageManip.cpp.

◆ setWarpMesh() [2/3]

void dai::node::ImageManip::setWarpMesh ( const std::vector< Point2f > &  meshData,
int  width,
int  height 
)

Set a custom warp mesh

Parameters
meshData2D plane of mesh points, starting from top left to bottom right
widthWidth of mesh
heightHeight of mesh

Definition at line 111 of file ImageManip.cpp.

◆ setWarpMesh() [3/3]

void dai::node::ImageManip::setWarpMesh ( const std::vector< std::pair< float, float >> &  meshData,
int  width,
int  height 
)

Definition at line 115 of file ImageManip.cpp.

Member Data Documentation

◆ initialConfig

ImageManipConfig dai::node::ImageManip::initialConfig

Initial config to use when manipulating frames

Definition at line 34 of file ImageManip.hpp.

◆ inputConfig

Input dai::node::ImageManip::inputConfig {*this, "inputConfig", Input::Type::SReceiver, true, 8, {{DatatypeEnum::ImageManipConfig, true}}}

Input ImageManipConfig message with ability to modify parameters in runtime Default queue is blocking with size 8

Definition at line 40 of file ImageManip.hpp.

◆ inputImage

Input dai::node::ImageManip::inputImage {*this, "inputImage", Input::Type::SReceiver, true, 8, true, {{DatatypeEnum::ImgFrame, true}}}

Input image to be modified Default queue is blocking with size 8

Definition at line 46 of file ImageManip.hpp.

◆ NAME

constexpr static const char* dai::node::ImageManip::NAME = "ImageManip"
staticconstexpr

Definition at line 17 of file ImageManip.hpp.

◆ out

Output dai::node::ImageManip::out {*this, "out", Output::Type::MSender, {{DatatypeEnum::ImgFrame, true}}}

Outputs ImgFrame message that carries modified image.

Definition at line 51 of file ImageManip.hpp.

◆ rawConfig

std::shared_ptr<RawImageManipConfig> dai::node::ImageManip::rawConfig
private

Definition at line 23 of file ImageManip.hpp.


The documentation for this class was generated from the following files:


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