diff --git a/docs/source/components/messages/edge_detector_config.rst b/docs/source/components/messages/edge_detector_config.rst new file mode 100644 index 000000000..dd1aae70e --- /dev/null +++ b/docs/source/components/messages/edge_detector_config.rst @@ -0,0 +1,32 @@ +EdgeDetectorConfig +================== + +This message is used to configure the :ref:`EdgeDetector` node. +You can set the horizontal and vertical Sobel filter kernel. + +Examples of functionality +######################### + +- :ref:`Edge detector` + +Reference +######### + +.. tabs:: + + .. tab:: Python + + .. autoclass:: depthai.EdgeDetectorConfig + :members: + :inherited-members: + :noindex: + + .. tab:: C++ + + .. doxygenclass:: dai::EdgeDetectorConfig + :project: depthai-core + :members: + :private-members: + :undoc-members: + +.. include:: ../../includes/footer-short.rst diff --git a/docs/source/components/nodes/edge_detector.rst b/docs/source/components/nodes/edge_detector.rst new file mode 100644 index 000000000..6c30c0528 --- /dev/null +++ b/docs/source/components/nodes/edge_detector.rst @@ -0,0 +1,91 @@ +EdgeDetector +============ + +Edge detector uses `Sobel filter `__ to create an image that emphasises edges. + +How to place it +############### + +.. tabs:: + + .. code-tab:: py + + pipeline = dai.Pipeline() + edgeDetector = pipeline.createEdgeDetector() + + .. code-tab:: c++ + + dai::Pipeline pipeline; + auto edgeDetector = pipeline.create(); + + +Inputs and Outputs +################## + +.. code-block:: + + ┌───────────────────┐ + inputImage │ │ + ──────────────►│ │ + │ │ outputImage + │ EdgeDetector ├───────────► + inputConfig │ │ + ──────────────►│ │ + │ │ + └───────────────────┘ + +**Message types** + +- :code:`inputImage` - :ref:`ImgFrame` +- :code:`inputConfig` - :ref:`EdgeDetectorConfig` +- :code:`outputImage` - :ref:`ImgFrame` + +Usage +##### + +.. tabs:: + + .. code-tab:: py + + pipeline = dai.Pipeline() + edgeDetector = pipeline.createEdgeDetector() + + sobelHorizontalKernel = [[1, 0, -1], [2, 0, -2], [1, 0, -1]] + sobelVerticalKernel = [[1, 2, 1], [0, 0, 0], [-1, -2, -1]] + edgeDetector.initialConfig.setSobelFilterKernels(sobelHorizontalKernel, sobelVerticalKernel) + + .. code-tab:: c++ + + dai::Pipeline pipeline; + auto edgeDetector = pipeline.create(); + + std::vector> sobelHorizontalKernel = {{1, 0, -1}, {2, 0, -2}, {1, 0, -1}}; + std::vector> sobelVerticalKernel = {{1, 2, 1}, {0, 0, 0}, {-1, -2, -1}}; + edgeDetector->setSobelFilterKernels(sobelHorizontalKernel, sobelVerticalKernel); + +Examples of functionality +######################### + +- :ref:`Edge detector` + +Reference +######### + +.. tabs:: + + .. tab:: Python + + .. autoclass:: depthai.EdgeDetector + :members: + :inherited-members: + :noindex: + + .. tab:: C++ + + .. doxygenclass:: dai::node::EdgeDetector + :project: depthai-core + :members: + :private-members: + :undoc-members: + +.. include:: ../../includes/footer-short.rst