PARP Research Group Universidad de Murcia


GPU-KLT+FLOW wrapper functions and classes
[Image processing]

Wrapper classes and functions for the GPU-KLT+FLOW software. More...

Classes

class  QVKLTFeatureTracking
 Class to store the successive positions of an individual feature tracked in a video sequence. More...
class  QVTrackingManager
 Class to manage trackings of features in video sequences. More...
class  QVKLTTrackerFeature
 Image feature location used by the GPU-KLT tracker. More...
class  QVKLTTracker
 Wrapper class to perform image feature tracking with the GPU-KLT library. More...

Functions

void qvInitFlowGPU (TVL1_FlowEstimator *&flowEstimator, int width, int height, int nLevels, int nIterations, int nOuterIterations, double lambda, double tau, double theta)
 Initialize the dense flow estimator.
void qvOpticalFlowGPU (TVL1_FlowEstimator *flowEstimator, QVPyramid *p1, QVPyramid *p2, QVImage< sFloat, 1 > &x, QVImage< sFloat, 1 > &y)
 Compute dense optical flow between two images.
void initShadersEnvironment ()
 Inits the environment variables for the GPU-KLT library functions.
void InitGLEWCg ()
 Init GLEW and CG system.

Detailed Description

Wrapper classes and functions for the GPU-KLT+FLOW software.

GPU-KLT+FLOW is a software that performs real-time KLT feature tracking and optical flow using GPU hardware. You can enable the QVision compatibility with this software in the config.pri file. The QVision offers classes and functions that wrap most of the functionality from the GPU-KLT+FLOW software.

In section GPU-KLT+FLOW example programs. you can find some example applications that use these wrapper functions to perform KLT feature tracking and optical flow.


Function Documentation

void qvInitFlowGPU ( TVL1_FlowEstimator *&  flowEstimator,
int  width,
int  height,
int  nLevels,
int  nIterations,
int  nOuterIterations,
double  lambda,
double  tau,
double  theta 
)

Initialize the dense flow estimator.

This function creates and configures the dense flow estimator with the configuration parameters below.

Parameters:
flowEstimator Dense flow estimator.
width Number of columns of the images.
height Number of rows of the images.
nLeves Number of levels of the image pyramids.
nIterations Number of inner iterations of the algorithm
nOuterIterations Number of outer iterations of the algorithm
lambda Parameter lambda
tau Parameter tau
theta Parameter theta

Definition at line 27 of file qvopticalflow.cpp.

void qvOpticalFlowGPU ( TVL1_FlowEstimator *  flowEstimator,
QVPyramid *  p1,
QVPyramid *  p2,
QVImage< sFloat, 1 > &  x,
QVImage< sFloat, 1 > &  y 
)

Compute dense optical flow between two images.

This function computes dense optical flow between two images, using a preconfigured flow estimator.

Parameters:
flowEstimator Dense flow estimator created and configured.
leftPyramid Image pyramid of the first image
rightPyramid Image pyramid of the second image
x Image with x-coordenate of the flow vector for each pixel
y Image with y-coordenate of the flow vector for each pixel

Definition at line 42 of file qvopticalflow.cpp.

void initShadersEnvironment (  ) 

Inits the environment variables for the GPU-KLT library functions.

This function should be called in the main function, to set the path for the shader source files, specified at the 'config.pri' file.

Definition at line 29 of file qvgpukltflow.cpp.

void InitGLEWCg (  ) 

Init GLEW and CG system.

This function should be called just once before any call to the GPU-KLT+FLOW wrapper functions from the thread that will use them, to set up the GPU context.

Definition at line 41 of file qvgpukltflow.cpp.




QVision framework. PARP research group. Copyright © 2007, 2008, 2009, 2010, 2011.