Difference between revisions of "Function:EigenValsVecs"

From CUVI Wiki
(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...")
 
(Blanked the page)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
__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-size:150%;"|
<syntaxhighlight lang="cpp">
CuviStatus eigenValsVecs(CuviImage* srcImage,
                        CuviImage* dstImage,
                        CuviGradientKernelType gradientKernelType,
                        Cuvi32s windowSize,
                        CuviStream* stream = NULL);
</syntaxhighlight>
|}
===Parameters===
{|class="wikitable"
|-
! 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===
{| class="wikitable"
|-
! Input
! Output
|-
| 8uC1
| 32fC1
|}
===Example===
{|
|style="font-size:150%;"|
<syntaxhighlight lang="cpp">
//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);
</syntaxhighlight>
|}

Latest revision as of 19:50, 18 April 2013