24 #ifndef ARM_COMPUTE_CLOPTICALFLOW_H 25 #define ARM_COMPUTE_CLOPTICALFLOW_H 42 class CLCompileContext;
44 class CLLKTrackerInitKernel;
45 class CLLKTrackerStage0Kernel;
46 class CLLKTrackerStage1Kernel;
47 class CLLKTrackerFinalizeKernel;
71 CLOpticalFlow(std::shared_ptr<IMemoryManager> memory_manager =
nullptr);
100 Termination termination,
float epsilon,
size_t num_iterations,
size_t window_dimension,
bool use_initial_estimate,
101 BorderMode border_mode, uint8_t constant_border_value = 0);
121 Termination termination,
float epsilon,
size_t num_iterations,
size_t window_dimension,
bool use_initial_estimate,
122 BorderMode border_mode, uint8_t constant_border_value = 0);
129 std::vector<std::unique_ptr<CLLKTrackerInitKernel>> _tracker_init_kernel;
130 std::vector<std::unique_ptr<CLLKTrackerStage0Kernel>> _tracker_stage0_kernel;
131 std::vector<std::unique_ptr<CLLKTrackerStage1Kernel>> _tracker_stage1_kernel;
132 std::unique_ptr<CLLKTrackerFinalizeKernel> _tracker_finalize_kernel;
133 std::vector<CLScharr3x3> _func_scharr;
134 std::vector<CLTensor> _scharr_gx;
135 std::vector<CLTensor> _scharr_gy;
139 std::unique_ptr<CLLKInternalKeypointArray> _old_points_internal;
140 std::unique_ptr<CLLKInternalKeypointArray> _new_points_internal;
141 std::unique_ptr<CLCoefficientTableArray> _coefficient_table;
142 std::unique_ptr<CLOldValueArray> _old_values;
BorderMode
Methods available to handle borders.
Base class for all functions.
Copyright (c) 2017-2021 Arm Limited.
void run() override
Run the kernels contained in the function.
Interface for OpenCL Array.
Basic implementation of the OpenCL pyramid interface.
CLOpticalFlow & operator=(const CLOpticalFlow &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
~CLOpticalFlow()
Default destructor.
Termination
Termination criteria.
Basic function to execute optical flow.
void configure(const CLPyramid *old_pyramid, const CLPyramid *new_pyramid, const ICLKeyPointArray *old_points, const ICLKeyPointArray *new_points_estimates, ICLKeyPointArray *new_points, Termination termination, float epsilon, size_t num_iterations, size_t window_dimension, bool use_initial_estimate, BorderMode border_mode, uint8_t constant_border_value=0)
Initialise the function input and output.
CLOpticalFlow(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Default constructor.