Function:GoodFeaturesToTrack

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.

Detecting interesting parts of an image is an important step in most computer vision applications. Itserves as the first low-level processing step in applications like image segmentation, object recognition, object tracking and motion estimation. CUVI offers feature detectors including KLT, Harris and Peter in a single function

Function

CuviStatus goodFeaturesToTrack(const CuviImage& src,
                               const CuviRect& roi,
                               CuviPointValue2D<Cuvi32f,Cuvi32f>*& output,
                               Cuvi32s& maxFeatures,
                               const CuviFeaturesCriteria criteria = CuviFeaturesCriteria(),
                               const CuviStream& stream = CuviStream());

Parameters

Name Type Description
src const CuviImage& Input 8 bit Gray Scale Image.
roi const CuviRect& Desired region of interest of input image. The function will return features from only that region of the image
output CuviPointValue2D<Cuvi32f,Cuvi32f>*& Output feature list that contains the coordinates & values of features/corners.
maxFeatures Cuvi32s& Desired number of features. If the total features detected in the image or ROI are less than maxFeatures its value is updated to that number
criteria const CuviFeaturesCriteria A structure containing various parameters that affect feature selection behavior
stream const CuviStream& GPU stream ID for execution

Image Type Support

Input Output
8uC1 CuviPointValue2D<Cuvi32f,Cuvi32f>

=Samples

Input Image


Selected Features


Example

//Create an 8-bit Grays-scale CuviImage
CuviImage gpu_image = cuvi::io::loadImage(path,CUVI_LOAD_IMAGE_GRAYSCALE);

CuviPointValue2D<Cuvi32f,Cuvi32f> *features;

//Desired number of features
int featureCount = 100;

//Selecting complete image for the process
CuviRect roi(0,0,img.width(),img.height());

//Setting Feature selection parameters
CuviFeaturesCriteria criteria(CUVI_FEATURES_HARRIS_PETER,0.006f,15,3,-2.0f);

//Calling GoodFeaturesToTrack
cuvi::computerVision::goodFeaturesToTrack(gimg,roi,features,featureCount,criteria);