24 #ifndef ARM_COMPUTE_NECANNYEDGE_H 25 #define ARM_COMPUTE_NECANNYEDGE_H 39 class NEGradientKernel;
40 class NEFillBorderKernel;
41 class NEEdgeNonMaxSuppressionKernel;
42 class NEEdgeTraceKernel;
67 NECannyEdge(std::shared_ptr<IMemoryManager> memory_manager =
nullptr);
85 void configure(
ITensor *
input,
ITensor *output, int32_t upper_thr, int32_t lower_thr, int32_t gradient_size, int32_t norm_type,
BorderMode border_mode, uint8_t constant_border_value = 0);
92 std::unique_ptr<IFunction> _sobel;
93 std::unique_ptr<NEGradientKernel> _gradient;
94 std::unique_ptr<NEEdgeNonMaxSuppressionKernel> _non_max_suppr;
95 std::unique_ptr<NEEdgeTraceKernel> _edge_trace;
96 std::unique_ptr<NEFillBorderKernel> _border_mag_gradient;
97 std::unique_ptr<NEFillBorderKernel> _border_edge_trace;
BorderMode
Methods available to handle borders.
Base class for all functions.
NECannyEdge(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Constructor.
Interface for Neon tensor.
void run() override
Run the kernels contained in the function.
Copyright (c) 2017-2021 Arm Limited.
void configure(ITensor *input, ITensor *output, int32_t upper_thr, int32_t lower_thr, int32_t gradient_size, int32_t norm_type, BorderMode border_mode, uint8_t constant_border_value=0)
Initialise the function's source, destination, thresholds, gradient size, normalization type and bord...
~NECannyEdge()
Default destructor.
Basic function to execute canny edge on Neon.
Basic implementation of the tensor interface.
NECannyEdge & operator=(const NECannyEdge &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...