Defines common types used by several components. More...
Data Structures | |
| struct | VPIKeypoint | 
| Stores a keypoint coordinate.  More... | |
| struct | VPIHomographyTransform2D | 
| Stores a generic 2D homography transform.  More... | |
| struct | VPIBoundingBox | 
| Stores a generic 2D bounding box.  More... | |
Macros | |
| #define | VPI_TERMINATION_CRITERIA_ITERATIONS (1u << 0) | 
| Defines the termination criteria macros.  More... | |
Enumerations | |
| enum | VPIInterpolationType | 
| Interpolation types supported by several algorithms.  More... | |
| enum | VPIBorderExtension | 
| Image border extension specify how pixel values outside of the image domain should be constructed.  More... | |
| enum | VPIOpticalFlowQuality | 
| Defines the quality of the optical flow algorithm.  More... | |
| enum | VPILockMode | 
| Defines the lock modes used by memory lock functions.  More... | |
| enum | VPIEventState | 
| Defines the states of the event.  More... | |
Defines common types used by several components.
| struct VPIKeypoint | 
| struct VPIHomographyTransform2D | 
Stores a generic 2D homography transform.
When only scale and translation transformation is needed, these parameters must be arranged in the matrix as follows:
\[ \begin{bmatrix} s_x & 0 & p_x \\ 0 & s_y & p_y \\ 0 & 0 & 1 \end{bmatrix} \]
Scaling \((s_x,s_y)\) is relative to the center of the patch, position \((p_x,p_y)\) is relative to the top-left of the image.
In the general case, given an homogeneous 2D point \(P(x,y,1)\) and the matrix \(M^{3x3}\), the Euclidean 2D point \(O(x,y)\) is defined as
\begin{align} T &= M \cdot P \\ O &= (T_x/T_z, T_y/T_z) \end{align}
 Collaboration diagram for VPIHomographyTransform2D:| Data Fields | ||
|---|---|---|
| float | mat3[3][3] | 3x3 homogeneous matrix that defines the homography. | 
| struct VPIBoundingBox | 
Stores a generic 2D bounding box.
Although this structure can store a 2D bounding box transformed by any homography, most of the time it stores an axis-aligned bounding box. To retrieve it, do the following:
 Collaboration diagram for VPIBoundingBox:| Data Fields | ||
|---|---|---|
| float | height | Bounding box height. | 
| float | width | Bounding box width. | 
| VPIHomographyTransform2D | xform | Defines the bounding box top left corner and its homography. | 
| #define VPI_TERMINATION_CRITERIA_ITERATIONS (1u << 0) | 
#include <vpi/Types.h>
Defines the termination criteria macros.
Termination based on maximum number of iterations.
| enum VPIBorderExtension | 
#include <vpi/Types.h>
Image border extension specify how pixel values outside of the image domain should be constructed.
| enum VPIEventState | 
#include <vpi/Types.h>
Defines the states of the event.
| Enumerator | |
|---|---|
| VPI_EVENT_STATE_NOT_SIGNALED | Event is not signaled yet.  | 
| VPI_EVENT_STATE_SIGNALED | Event has been signaled.  | 
| enum VPIInterpolationType | 
#include <vpi/Interpolation.h>
Interpolation types supported by several algorithms.
Definition at line 69 of file Interpolation.h.
| enum VPILockMode | 
#include <vpi/Types.h>
Defines the lock modes used by memory lock functions.
#include <vpi/Types.h>
Defines the quality of the optical flow algorithm.
| Enumerator | |
|---|---|
| VPI_OPTICAL_FLOW_QUALITY_LOW | Fast but low quality optical flow implementation.  | 
| VPI_OPTICAL_FLOW_QUALITY_MEDIUM | Speed and quality in between of VPI_OPTICAL_FLOW_QUALITY_LOW and VPI_OPTICAL_FLOW_QUALITY_HIGH.  | 
| VPI_OPTICAL_FLOW_QUALITY_HIGH | Slow but high quality optical flow implementation.  |