Class EdgeDetector

Inheritance Relationships

Base Type

Class Documentation

class EdgeDetector : public dai::NodeCRTP<Node, EdgeDetector, EdgeDetectorProperties>

EdgeDetector node. Performs edge detection using 3x3 Sobel filter.

Public Functions

EdgeDetector(const std::shared_ptr<PipelineImpl> &par, int64_t nodeId)
EdgeDetector(const std::shared_ptr<PipelineImpl> &par, int64_t nodeId, std::unique_ptr<Properties> props)
void setWaitForConfigInput(bool wait)

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

Parameters:

wait – True to wait for configuration message, false otherwise.

bool getWaitForConfigInput() const

Returns:

True if wait for inputConfig message, false otherwise

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

Public Members

EdgeDetectorConfig initialConfig

Initial config to use for edge detection.

Input inputConfig = {*this, "inputConfig", Input::Type::SReceiver, false, 4, {{DatatypeEnum::EdgeDetectorConfig, false}}}

Input EdgeDetectorConfig message with ability to modify parameters in runtime. Default queue is non-blocking with size 4.

Input inputImage = {*this, "inputImage", Input::Type::SReceiver, false, 4, true, {{DatatypeEnum::ImgFrame, false}}}

Input image on which edge detection is performed. Default queue is non-blocking with size 4.

Output outputImage = {*this, "outputImage", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}}

Outputs image frame with detected edges

Output passthroughInputImage = {*this, "passthroughInputImage", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}}

Passthrough message on which the calculation was performed.

Public Static Attributes

static constexpr const char *NAME = "EdgeDetector"

Protected Functions

virtual Properties &getProperties()