▼NVIDIA Extension API | Provides detailed VisionWorks API usage information |
►Framework APIs | This section includes the NVIDIA extensions for the OpenVX Framework supported in VisionWorks |
Version Information | Adds library version information |
Resource Control | Gives more control to the application of resources usage |
CUDA Interoperability | Adds CUDA interoperability support |
Error Management Extensions | Defines additional error management features |
Reference Extensions | Adds various extensions to vx_reference |
Context Object Extensions | Adds various extensions to the vx_context object |
Graph Object Extensions | Adds various extensions to the vx_graph object |
Delay Object Extensions | Adds various extensions to the vx_delay object |
Kernel Object Extensions | Adds various extensions to the vx_kernel object |
Types Extensions | Defines additional types |
Point Coordinate Types | Adds 2D, 3D, and 4D floating point coordinate vectors |
KeyPoint Types | Adds KeyPoint data structure with floating point coordinates |
►Image Data Object Extensions | Adds various extensions to the vx_image object |
Extra Map Flags | Extra flags for map operation |
Array Data Object Extensions | Adds various extensions to the vx_array object |
Distribution Data Object Extensions | Adds various extensions to the vx_distribution object |
LUT Data Object Extensions | Adds various extensions to the vx_lut object |
Matrix Data Object Extensions | Adds various extensions to the vx_matrix object |
Remap Data Object Extensions | Adds various extensions to the vx_remap object |
Timer | Adds the C++ Timer class for simple performance measurements |
Node Object Extensions | Adds various extensions to the vx_node object |
►Vision Primitives APIs | This section includes the NVIDIA vision extensions supported in VisionWorks |
Copy Image | Copies data from one image to another |
FAST Track | The FAST Track Primitive |
Find Homography | The Find Homography Algorithm |
Harris Track | The Harris Track Primitive |
Flip Image | The Flip Image Primitive |
Color Convert Extensions | Adds various extensions to the Color Convert vision function |
Scale Image Extensions | Adds various extensions to the Scale Image vision function |
Warp Extensions | Adds various extensions to the WarpAffine and WarpPerspective vision functions |
Harris Corners Extensions | Adds various extensions to the Harris Corners vision function |
Fast Corners Extensions | Adds various extensions to the Fast Corners vision function |
Optical Flow PyrLK Extensions | Adds various extensions to the Optical Flow PyrLK vision function |
Pixel-wise Multiplication Extensions | Adds various extensions to the Pixel-wise Multiplication vision function |
Semi-Global Matching | The Semi-Global Matching Primitive is used for disparity map reconstruction |
Hough Circles | The Hough Circles primitive finds circles in a binary image using a modification of the Hough transform |
Hough Lines | The Hough Lines primitive finds lines in a binary image using Hough transform |
Scharr3x3 | The Scharr 3x3 Image Filter Kernel |
Laplacian3x3 | The Laplacian3x3 operator |
Median Flow | The Median Flow Algorithm |
Stereo Block Matching | The Stereo Block Matching Primitive |
Multiply by Scalar | Multiplies an input image by scalar and optionally converts it to another data type |
IME : Create Motion Field | Creates initial motion field from a current image into reference image |
IME : Refine Motion Field | Iteratively refines motion field by applying the motion vectors to a center block in a 3x3 block neighborhood |
IME : Partition Motion Field | Partitions motion vector field for blocks onto motion vector field into quarter sized blocks (half size in each dimension) |
►NVXIO APIs | The VisionWorks toolkit includes input/output functionality that you can use in your applications |
Range | Defines a range of values |
ConfigParser | This class is intended for parsing simple text files with a basic structure composed of parameters |
FrameSource | This class is intended for reading images from different sources |
Render3D | This class is intended to display primitives in the 3D space |
Render | This is a common interface for rendering 2D images and some primitive 2D graphic objects on the screen, like line, circles, text boxes, etc., to video file or single image |
Thread-Safe Queue | Defines a thread-safe queue |
Utility | Defines NVXIO Utility API |
▼Khronos OpenVX 1.0.1 API | The following sections provides OpenVX specification |
OpenVX Introduction | |
OpenVX Design Overview | |
►OpenVX API Modules | Provides detailed OpenVX API usage information |
►Vision Functions | These are the base vision functions supported in OpenVX 1.0 |
Absolute Difference | Computes the absolute difference between two images |
Accumulate | Accumulates an input image into output image |
Accumulate Squared | Accumulates a squared value from an input image to an output image |
Accumulate Weighted | Accumulates a weighted value from an input image to an output image |
Arithmetic Addition | Performs addition between two images |
Arithmetic Subtraction | Performs subtraction between two images |
Bitwise AND | Performs a bitwise AND operation between two VX_DF_IMAGE_U8 images |
Bitwise EXCLUSIVE OR | Performs a bitwise EXCLUSIVE OR (XOR) operation between two VX_DF_IMAGE_U8 images |
Bitwise INCLUSIVE OR | Performs a bitwise INCLUSIVE OR operation between two VX_DF_IMAGE_U8 images |
Bitwise NOT | Performs a bitwise NOT operation on a VX_DF_IMAGE_U8 input image |
Box Filter | Computes a Box filter over a window of the input image |
Canny Edge Detector | Provides a Canny edge detector kernel |
Channel Combine | Implements the Channel Combine Kernel |
Channel Extract | Implements the Channel Extraction Kernel |
Color Convert | Implements the Color Conversion Kernel |
Convert Bit depth | Converts image bit depth |
Custom Convolution | Convolves the input with the client supplied convolution matrix |
Dilate Image | Implements Dilation, which grows the white space in a VX_DF_IMAGE_U8 Boolean image |
Equalize Histogram | Equalizes the histogram of a grayscale image |
Erode Image | Implements Erosion, which shrinks the white space in a VX_DF_IMAGE_U8 Boolean image |
Fast Corners | Computes the corners in an image using a method based upon FAST9 algorithm suggested in [6] and with some updates from [8] with modifications described below |
Gaussian Filter | Computes a Gaussian filter over a window of the input image |
Harris Corners | Computes the Harris Corners of an image |
Histogram | Generates a distribution from an image |
Gaussian Image Pyramid | Computes a Gaussian Image Pyramid from an input image |
Integral Image | Computes the integral image of the input |
Magnitude | Implements the Gradient Magnitude Computation Kernel |
Mean and Standard Deviation | Computes the mean pixel value and the standard deviation of the pixels in the input image (which has a dimension width and height) |
Median Filter | Computes a median pixel value over a window of the input image |
Min, Max Location | Finds the minimum and maximum values in an image and a location for each |
Optical Flow Pyramid (LK) | Computes the optical flow using the Lucas-Kanade method between two pyramid images |
Phase | Implements the Gradient Phase Computation Kernel |
Pixel-wise Multiplication | Performs element-wise multiplication between two images and a scalar value |
Remap | Maps output pixels in an image from input pixels in an image |
Scale Image | Implements the Image Resizing Kernel |
Half Scale Gaussian | Performs a Gaussian Blur on an image then half-scales it |
Sobel 3x3 | Implements the Sobel Image Filter Kernel |
TableLookup | Implements the Table Lookup Image Kernel |
Thresholding | Thresholds an input image and produces an output Boolean image |
Warp Affine | Performs an affine transform on an image |
Warp Perspective | Performs a perspective transform on an image |
►Basic Features | The basic parts of OpenVX needed for computation |
►Objects | Defines the basic objects within OpenVX |
Object: Reference | Defines the Reference Object interface |
Object: Context | Defines the Context Object Interface |
Object: Graph | Defines the Graph Object interface |
Object: Node | Defines the Node Object interface |
Object: Array | Defines the Array Object Interface |
Object: Convolution | Defines the Image Convolution Object interface |
Object: Distribution | Defines the Distribution Object Interface |
Object: Image | Defines the Image Object interface |
Object: LUT | Defines the Look-Up Table Interface |
Object: Matrix | Defines the Matrix Object Interface |
Object: Pyramid | Defines the Image Pyramid Object Interface |
Object: Remap | Defines the Remap Object Interface |
Object: Scalar | Defines the Scalar Object interface |
Object: Threshold | Defines the Threshold Object Interface |
►Administrative Features | Defines the Administrative Features of OpenVX |
►Advanced Objects | |
Object: Array (Advanced) | Defines the advanced features of the Array Interface |
►Object: Node (Advanced) | Defines the advanced features of the Node Interface |
Node: Border Modes | Defines the border mode behaviors |
Object: Delay | Defines the Delay Object interface |
Object: Kernel | Defines the Kernel Object and Interface |
Object: Parameter | Defines the Parameter Object interface |
►Advanced Framework API | Describes components that are considered to be advanced |
Framework: Node Callbacks | Allows Clients to receive a callback after a specific node has completed execution |
Framework: Performance Measurement | Defines Performance measurement and reporting interfaces |
Framework: Log | Defines the debug logging interface |
Framework: Hints | Defines the Hints Interface |
Framework: Directives | Defines the Directives Interface |
Framework: User Kernels | Defines the User Kernels, which are a method to extend OpenVX with new vision functions |
Framework: Graph Parameters | Defines the Graph Parameter API |
▼Samples and Demos | The VisionWorks toolkit includes samples that you can use as a starting point for developing, porting, and optimizing your applications and demos that show how you can use advanced features to optimize your applications |
►Sample and Demos User Guides | The following sections list the available user guides for VisionWorks samples and demos |
Linux: Building and Running Samples and Demos | Shows how to build samples and demos using native or cross compilation on Linux |
Windows: Building and Running Samples and Demos | Shows how to build samples and demos using native compilation on Windows |
►Sample Applications | The following sections list the available samples for VisionWorks |
(Vibrante) NvMedia Camera Capture Sample App | NvMedia Camera Capture Sample user guide |
OpenCV and NPP Interop Sample App | OpenCV and NPP Interop Sample user guide |
OpenGL Interop Sample App | OpenGL Interop Sample user guide |
Video Playback Sample App | Video Playback Sample user guide |
(L4T R23) NVIDIA GStreamer Camera Capture Sample App | NVIDIA GStreamer Camera Capture Sample user guide |
►Demo Applications | The following sections list the available demos for VisionWorks |
Feature Tracker Demo App | Feature Tracker Demo user guide |
Stereo Matching Demo App | Stereo Matching Demo user guide |
Hough Transform Demo App | Hough Transform Demo user guide |
Video Stabilizer Demo App | Video Stabilizer Demo user guide |
Motion Estimation Demo App | Motion Estimation Demo user guide |
▼Tutorials | The following sections list the available tutorials for VisionWorks |
►User Custom Node Tutorial | This tutorial illustrates User Custom Nodes |
1. Processing Callback Function | This section illustrates the implementation of the kernel processing callback function |
2. Input Validation Callback Function | This section illustrates the implementation of the input validation callback function |
3. Output Validation Callback Function | This section illustrates the implementation of the output validation callback function |
4. Kernel Registration | This section illustrates the user custom kernel registration |
5. User Custom Node Factory | This section illustrates the implementation of the user custom node factory |
6. Usage | This section illustrates the usage of user custom nodes |
7. CUDA Nodes | This section describes the implementation of user custom nodes based on CUDA |
►CUDA Interoperability Tutorial | The following tutorials demonstrate interaction with user CUDA code |
Process Image with CUDA Kernel | This tutorial demonstrates VisionWorks image processing with user CUDA code |
Process Array with CUBLAS Library | This tutorial demonstrates VisionWorks array processing with user CUDA code |
Import NV12 Image from CUDA Address Space | This tutorial demonstrates VisionWorks importing functionality for existing CUDA memory |
►EGL Stream Interoperability Tutorial | This tutorial demonstrates how to use EGL Streams |
Initializing EGL Resources | This section demonstrates how to initialize EGL resources and create EGL streams |
Connecting CUDA Consumers to EGL Streams | This section demonstrates how to connect a CUDA consumer to an existing EGL stream |
Consuming Produced Frames | This section demonstrates how to query the EGL stream state to acquire produced frames |
Releasing Resources | This section demonstrates how to disconnect the CUDA consumer and release the EGL resources |
▼Links to External Resources | Lists links to external resources |
►NVIDIA CUDA Resources | Lists links to NVIDIA CUDA Resources |
NVIDIA CUDA Downloads | Link to NVIDIA CUDA downloads |
NVIDIA CUDA Getting Started Guide for Linux | Link to NVIDIA CUDA Getting Started Guide for Linux platform |
NVIDIA CUDA Getting Started Guide for Windows | Link to NVIDIA CUDA Getting Started Guide for Windows platform |
NVIDIA CUDA Documentation | Link to NVIDIA CUDA Documentation |
NVIDIA CUDA Compiler Driver | Link to NVIDIA CUDA Compiler Driver |
►NVIDIA Jetson TK1 Documentation | Lists link to NVIDIA Jetson TK1 Documentation |
Get Started on Jetson | Link to the "Get Started on Jetson" tutorial |
Jetson Performance | Link to the "Jetson Performance" tutorial |
Jetson Power | Link to the "Jetson Power" tutorial |
►EGL API Documentation | Lists links to EGL API Documentation |
EGL | Link to EGL API specification |