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
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::eigenValsVecs(gimg,gout,CUVI_GRADIENT_SOBEL_3x3,5);
|