|
|
(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>
| |
| |}
| |