Class ImageManip

Inheritance Relationships

Base Types

Class Documentation

class ImageManip : public dai::DeviceNodeCRTP<DeviceNode, ImageManip, ImageManipProperties>, public dai::HostRunnable

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

Public Types

using Backend = ImageManipProperties::Backend
using PerformanceMode = ImageManipProperties::PerformanceMode

Public Functions

ImageManip() = default
ImageManip(std::unique_ptr<Properties> props)
inline std::shared_ptr<ImageManip> build()
void setNumFramesPool(int numFramesPool)

Specify number of frames in pool.

Parameters:

numFramesPool – How many frames should the pool have

void setMaxOutputFrameSize(int maxFrameSize)

Specify maximum size of output image.

Parameters:

maxFrameSize – Maximum frame size in bytes

ImageManip &setRunOnHost(bool runOnHost = true)

Specify whether to run on host or device

Parameters:

runOnHost – Run node on host

ImageManip &setBackend(Backend backend)

Set CPU as backend preference

Parameters:

backend – Backend preference

ImageManip &setPerformanceMode(PerformanceMode performanceMode)

Set performance mode

Parameters:

performanceMode – Performance mode

virtual bool runOnHost() const override

Check if the node is set to run on host

virtual void run() override
inline DeviceNodeCRTP()
inline DeviceNodeCRTP(const std::shared_ptr<Device> &device)
inline DeviceNodeCRTP(std::unique_ptr<Properties> props)
inline DeviceNodeCRTP(std::unique_ptr<Properties> props, bool confMode)
inline DeviceNodeCRTP(const std::shared_ptr<Device> &device, std::unique_ptr<Properties> props, bool confMode)

Public Members

std::shared_ptr<ImageManipConfig> initialConfig = std::make_shared<ImageManipConfig>()

Initial config to use when manipulating frames

Input inputConfig = {*this, {"inputConfig", DEFAULT_GROUP, DEFAULT_BLOCKING, DEFAULT_QUEUE_SIZE, {{{DatatypeEnum::ImageManipConfig, true}}}, false}}

Input ImageManipConfig message with ability to modify parameters in runtime

Input inputImage = {*this, {"inputImage", DEFAULT_GROUP, DEFAULT_BLOCKING, DEFAULT_QUEUE_SIZE, {{{DatatypeEnum::ImgFrame, true}}}, DEFAULT_WAIT_FOR_MESSAGE}}

Input image to be modified

Output out = {*this, {"out", DEFAULT_GROUP, {{{DatatypeEnum::ImgFrame, true}}}}}

Outputs ImgFrame message that carries modified image.

Public Static Attributes

static constexpr const char *NAME = "ImageManip"

Protected Functions

virtual Properties &getProperties() override