Class EdgeDetector

Inheritance Relationships

Base Type

Class Documentation

class EdgeDetector : public dai::DeviceNodeCRTP<DeviceNode, EdgeDetector, EdgeDetectorProperties>

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

Public Functions

EdgeDetector() = default
EdgeDetector(std::unique_ptr<Properties> props)
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

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<EdgeDetectorConfig> initialConfig = std::make_shared<EdgeDetectorConfig>()

Initial config to use for edge detection.

Input inputConfig = {*this, {"inputConfig", DEFAULT_GROUP, false, 4, {{{DatatypeEnum::EdgeDetectorConfig, false}}}, DEFAULT_WAIT_FOR_MESSAGE}}

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

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

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

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

Outputs image frame with detected edges

Output passthroughInputImage = {*this, {"passthroughInputImage", DEFAULT_GROUP, {{{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()