24 #ifndef ARM_COMPUTE_NEHARRISCORNERS_H 25 #define ARM_COMPUTE_NEHARRISCORNERS_H 43 class NEFillBorderKernel;
44 class INEHarrisScoreKernel;
72 NEHarrisCorners(std::shared_ptr<IMemoryManager> memory_manager =
nullptr);
96 int32_t gradient_size, int32_t block_size,
KeyPointArray *corners,
97 BorderMode border_mode, uint8_t constant_border_value = 0);
104 std::unique_ptr<IFunction> _sobel;
105 std::unique_ptr<INEHarrisScoreKernel> _harris_score;
109 std::unique_ptr<NEFillBorderKernel> _border_gx;
110 std::unique_ptr<NEFillBorderKernel> _border_gy;
115 std::vector<InternalKeypoint> _corners_list;
116 int32_t _num_corner_candidates;
BorderMode
Methods available to handle borders.
Basic function to execute non-maxima suppression over a 3x3 window.
Base class for all functions.
NEHarrisCorners(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Constructor.
Interface for Neon tensor.
Copyright (c) 2017-2021 Arm Limited.
Basic implementation of the IArray interface which allocates a static number of T values...
CPP kernel to perform corner candidates.
~NEHarrisCorners()
Default destructor.
void run() override
Run the kernels contained in the function.
Basic implementation of the tensor interface.
ITensor IImage
Interface for CPP Images.
NEHarrisCorners & operator=(const NEHarrisCorners &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
CPP kernel to perform sorting and euclidean distance.
void configure(IImage *input, float threshold, float min_dist, float sensitivity, int32_t gradient_size, int32_t block_size, KeyPointArray *corners, BorderMode border_mode, uint8_t constant_border_value=0)
Initialize the function's source, destination, conv and border_mode.
SimpleTensor< T > threshold(const SimpleTensor< T > &src, T threshold, T false_value, T true_value, ThresholdType type, T upper)
Basic function to execute harris corners detection.