[−][src]Trait opencv::hub_prelude::CUDA_NvidiaHWOpticalFlow
Base Interface for optical flow algorithms using NVIDIA Optical Flow SDK.
Required methods
pub fn as_raw_CUDA_NvidiaHWOpticalFlow(&self) -> *const c_void
[src]
pub fn as_raw_mut_CUDA_NvidiaHWOpticalFlow(&mut self) -> *mut c_void
[src]
Provided methods
pub fn calc(
&mut self,
input_image: &dyn ToInputArray,
reference_image: &dyn ToInputArray,
flow: &mut dyn ToInputOutputArray,
stream: &mut Stream,
hint: &dyn ToInputArray,
cost: &mut dyn ToOutputArray
) -> Result<()>
[src]
&mut self,
input_image: &dyn ToInputArray,
reference_image: &dyn ToInputArray,
flow: &mut dyn ToInputOutputArray,
stream: &mut Stream,
hint: &dyn ToInputArray,
cost: &mut dyn ToOutputArray
) -> Result<()>
Calculates Optical Flow using NVIDIA Optical Flow SDK.
- NVIDIA GPUs starting with Turing contain a dedicated hardware accelerator for computing optical flow vectors between pairs of images.
- The optical flow hardware accelerator generates block-based optical flow vectors.
- The size of the block depends on hardware in use, and can be queried using the function getGridSize().
- The block-based flow vectors generated by the hardware can be converted to dense representation (i.e. per-pixel flow vectors) using upSampler() helper function, if needed.
- The flow vectors are stored in CV_16SC2 format with x and y components of each flow vector in 16-bit signed fixed point representation S10.5.
Parameters
- inputImage: Input image.
- referenceImage: Reference image of the same size and the same type as input image.
- flow: A buffer consisting of inputImage.Size() / getGridSize() flow vectors in CV_16SC2 format.
- stream: It is highly recommended that CUDA streams for pre and post processing of optical flow vectors should be set once per session in create() function as a part of optical flow session creation. This parameter is left here for backward compatibility and may be removed in the future. Default value is NULL stream;
- hint: Hint buffer if client provides external hints. Must have same size as flow buffer. Caller can provide flow vectors as hints for optical flow calculation.
- cost: Cost buffer contains numbers indicating the confidence associated with each of the generated flow vectors. Higher the cost, lower the confidence. Cost buffer is of type CV_32SC1.
Note:
- Client must use critical sections around each calc() function if calling it from multiple threads.
C++ default parameters
- stream: Stream::Null()
- hint: cv::noArray()
- cost: cv::noArray()
pub fn collect_garbage(&mut self) -> Result<()>
[src]
Releases all buffers, contexts and device pointers.
pub fn get_grid_size(&self) -> Result<i32>
[src]
Returns grid size of output buffer as per the hardware's capability.