24 #ifndef ARM_COMPUTE_CLHARRISCORNERS_H 25 #define ARM_COMPUTE_CLHARRISCORNERS_H 41 class CLCompileContext;
42 class CLHarrisScoreKernel;
43 class CLFillBorderKernel;
67 CLHarrisCorners(std::shared_ptr<IMemoryManager> memory_manager =
nullptr);
89 BorderMode border_mode, uint8_t constant_border_value = 0,
bool use_fp16 =
false);
106 BorderMode border_mode, uint8_t constant_border_value = 0,
bool use_fp16 =
false);
113 std::unique_ptr<IFunction> _sobel;
114 std::unique_ptr<CLHarrisScoreKernel> _harris_score;
118 std::unique_ptr<CLFillBorderKernel> _border_gx;
119 std::unique_ptr<CLFillBorderKernel> _border_gy;
124 std::vector<InternalKeypoint> _corners_list;
125 int32_t _num_corner_candidates;
BorderMode
Methods available to handle borders.
~CLHarrisCorners()
Default destructor.
Base class for all functions.
ICLTensor ICLImage
Interface for OpenCL images.
Copyright (c) 2017-2021 Arm Limited.
CPP kernel to perform corner candidates.
Interface for OpenCL Array.
const CLHarrisCorners & operator=(const CLHarrisCorners &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
CPP kernel to perform sorting and euclidean distance.
Interface for OpenCL tensor.
void run() override
Run the kernels contained in the function.
void configure(ICLImage *input, float threshold, float min_dist, float sensitivity, int32_t gradient_size, int32_t block_size, ICLKeyPointArray *corners, BorderMode border_mode, uint8_t constant_border_value=0, bool use_fp16=false)
Initialize the function's source, destination, conv and border_mode.
Basic function to execute harris corners detection.
SimpleTensor< T > threshold(const SimpleTensor< T > &src, T threshold, T false_value, T true_value, ThresholdType type, T upper)
CLHarrisCorners(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Constructor.
Basic function to execute non-maxima suppression over a 3x3 window.
Basic implementation of the OpenCL tensor interface.