Function:OpticalFlowPyrLKDense

From CUVI Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Computes Dense Optical Flow between each pixel of two images using pyramidal Lucas-Kanade method.

Function

CuviStatus opticalFlowPyrLKDense(const CuviImage& previous,
                                 const CuviImage& next,
                                 Cuvi32f* flowX
                                 Cuvi32f* flowY,
                                 const CuviTrackingCriteria criteria,
                                 const CuviStream& stream = CuviStream());

Parameters

Name Type Description
previous CuviImage& The first image whose features are to be tracked
next CuviImage& Second image, in which to look for features of first image
flowX Cuvi32f* Horizontal optical flow
flowY Cuvi32f* Vertical optical flow
criteria const CuviFeaturesCriteria A structure containing various parameters that affect optical flow calculation
stream const CuviStream& GPU stream ID for execution

Image Type Support

Input Output
2x 8uC1 2x Cuvi32f*

Samples

Error creating thumbnail: Unable to save thumbnail to destination
First Input Image (8-bit)


Error creating thumbnail: Unable to save thumbnail to destination
Second Input Image (8-bit)


Error creating thumbnail: Unable to save thumbnail to destination
Optical Flow Magnitude


Error creating thumbnail: Unable to save thumbnail to destination
Flow of selected points


Code Example

//Create two 8-bit Grays-scale CuviImage objects
CuviImage gimg1 = cuvi::io::loadImage(path,CUVI_LOAD_IMAGE_GRAYSCALE);
CuviImage gimg2 = cuvi::io::loadImage(path,CUVI_LOAD_IMAGE_GRAYSCALE);


Cuvi32f* flowX = new Cuvi32f[gimg1.width() * gimg1.height()];
Cuvi32f* flowY = new Cuvi32f[gimg1.width() * gimg1.height()];

//tracking criteria
CuviTrackingCriteria tc;

//Compute optical flow between first frame and second frame
cuvi::computerVision::opticalFlowPyrLKDense(gimg1,gimg2,flowX,flowY,tc);