Function:EigenValsVecs

From CUVI Wiki
Revision as of 20:44, 14 May 2012 by Ghazanfar (talk | contribs) (Created page with "__NOTOC__ Calculates eigen values and eigen vectors of each image pixel. The output image must have 6 times more width than the input image. ===Function=== {| |style="font-si...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Calculates eigen values and eigen vectors of each image pixel. The output image must have 6 times more width than the input image.

Function

CuviStatus eigenValsVecs(CuviImage* srcImage,
                         CuviImage* dstImage,
                         CuviGradientKernelType gradientKernelType,
                         Cuvi32s windowSize,
                         CuviStream* stream = NULL);

Parameters

Name Type Description
srcImage CuviImage* Input Image
dstImage CuviImage* Output Image
gradientKernelType CuviGradientKernelType Type of derivative kernel to use for gradient calculation
windowSize Cuvi32s Window size for eigen value calculation
stream CuviStream* GPU stream ID for execution

Image Type Support

Input Output
8uC1 32fC1

Example

//Input image
CuviImage* gimg = new CuviImage(cuviSize(width,height),depth,1);
gimg->upload(img->imageData,img->widthStep);

//Output Image. 6 times wider than input image
CuviImage* gout = new CuviImage(cuviSize(width * 6,height),CUVI_DEPTH_32F,1);

//Compute eigen values and vectors using 3x3 Sobel filter for derivative, and 5x5 window for eigen value calculation
cuvi::computerVision::minEigenVals(gimg,gout,CUVI_GRADIENT_SOBEL_3x3,5);