VisionWorks Toolkit Reference

April 8, 2016 | 1.4 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvx.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012-2016, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA Corporation and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA Corporation is strictly prohibited.
9  */
10 
16 #ifndef NVX_H
17 #define NVX_H
18 
19 //----------------------------------------------------------------------------
20 // Include
21 //----------------------------------------------------------------------------
22 
23 #include <VX/vx.h>
24 #include <VX/vxu.h>
25 #include <NVX/nvx_api_macros.h>
26 
27 //----------------------------------------------------------------------------
28 // Framework : Version Information
29 //----------------------------------------------------------------------------
30 
35 typedef struct _nvx_version_info_t {
39  char visionworks_suffix_version[12];
45 
50 typedef struct _nvx_module_version_t {
54  char suffix[12];
56 
63 NVX_C_API void nvxGetVersionInfo(nvx_version_info_t *info);
64 
65 
66 //----------------------------------------------------------------------------
67 // Framework : User Kernel Extension
68 //----------------------------------------------------------------------------
69 
74 enum nvx_enum_e {
76 };
77 
89 };
90 
103 NVX_C_API vx_status nvxSetKernelParameterMutability(vx_kernel kernel, vx_uint32 index, vx_enum mutability);
104 
105 //----------------------------------------------------------------------------
106 // Framework : Types Extensions
107 //----------------------------------------------------------------------------
108 
121 
124 };
125 
134 };
135 
140 #define NVX_LIBRARY_NVIDIA (0x0)
141 
181 };
182 
183 //----------------------------------------------------------------------------
184 // Framework : Point Types
185 //----------------------------------------------------------------------------
186 
191 typedef struct _nvx_point2f_t {
194 } nvx_point2f_t;
195 
200 typedef struct _nvx_point3f_t {
204 } nvx_point3f_t;
205 
210 typedef struct _nvx_point4f_t {
215 } nvx_point4f_t;
216 
217 //----------------------------------------------------------------------------
218 // Framework : KeyPoint Types
219 //----------------------------------------------------------------------------
220 
225 typedef struct _nvx_keypointf_t {
234 
235 //----------------------------------------------------------------------------
236 // Framework : Image Extensions
237 //----------------------------------------------------------------------------
238 
245  NVX_DF_IMAGE_F32 = VX_DF_IMAGE('F','0','3','2'),
246 
248  NVX_DF_IMAGE_2F32 = VX_DF_IMAGE('2','F','3','2'),
249 
251  NVX_DF_IMAGE_2S16 = VX_DF_IMAGE('2','S','1','6'),
252 
257  NVX_DF_IMAGE_RGB16 = VX_DF_IMAGE('S','3','1','6'),
258 };
259 
275 NVX_C_API vx_image nvxCreateImageFromChannel(vx_image imgref, vx_enum channel);
276 
287 #define NVX_MAP_NO_PIXEL_GAPS (1 << 0)
288 
317 NVX_C_API vx_status nvxMapImagePatch(vx_image image,
318  const vx_rectangle_t *rect,
319  vx_uint32 plane_index,
321  void **ptr,
322  vx_enum usage,
323  vx_enum memory_type,
324  vx_uint32 flags);
325 
340 NVX_C_API vx_status nvxUnmapImagePatch(vx_image image,
341  const vx_rectangle_t *rect,
342  vx_uint32 plane_index,
343  void *ptr,
344  vx_enum memory_type);
345 
346 //----------------------------------------------------------------------------
347 // Framework : CUDA Interoperability
348 //----------------------------------------------------------------------------
349 
361 };
362 
372 };
373 
374 //----------------------------------------------------------------------------
375 // Framework : Context Extensions
376 //----------------------------------------------------------------------------
377 
400 
406 };
407 
408 //----------------------------------------------------------------------------
409 // Framework : Resource control
410 //----------------------------------------------------------------------------
411 
417 {
422 };
423 
441 NVX_C_API vx_status nvxSetNodeTargetDevice(vx_node node, vx_enum device);
442 
443 //----------------------------------------------------------------------------
444 // Framework : Reference extension
445 //----------------------------------------------------------------------------
446 
470 
493 NVX_C_API vx_status nvxReleaseReferenceList(vx_reference ref_list[], vx_size num_refs);
494 
495 //----------------------------------------------------------------------------
496 // Framework : Graph Extension
497 //----------------------------------------------------------------------------
498 
524 
547 };
548 
577 
591 };
592 
622 NVX_C_API vx_graph nvxCreateStreamGraph(vx_context context);
623 
649 NVX_C_API vx_status nvxRegisterAutoAging(vx_graph graph, vx_delay delay);
650 
651 //----------------------------------------------------------------------------
652 // Framework : Remap Extensions
653 //----------------------------------------------------------------------------
654 
669 NVX_C_API vx_status nvxMapRemapPatch(vx_remap remap,
670  vx_rectangle_t *rect,
672  void **ptr,
673  vx_enum usage);
674 
684 NVX_C_API vx_status nvxUnmapRemapPatch(vx_remap remap,
685  void *ptr);
686 
687 //----------------------------------------------------------------------------
688 // Framework : Node Extensions
689 //----------------------------------------------------------------------------
690 
707 };
708 
709 //----------------------------------------------------------------------------
710 // Primitive : Harris Track
711 //----------------------------------------------------------------------------
712 
743 NVX_C_API vx_node nvxHarrisTrackNode(vx_graph graph, vx_image input, vx_array output,
744  vx_image mask, vx_array tracked_points,
745  vx_float32 k, vx_float32 threshold, vx_uint32 cell_size,
746  vx_scalar num_corners);
747 
786 NVX_C_API vx_status nvxuHarrisTrack(vx_context context, vx_image input, vx_array output,
787  vx_image mask, vx_array tracked_points,
788  vx_float32 k, vx_float32 threshold, vx_uint32 cell_size,
789  vx_scalar num_corners);
790 
791 //----------------------------------------------------------------------------
792 // Primitive : FAST Track
793 //----------------------------------------------------------------------------
794 
826 NVX_C_API vx_node nvxFastTrackNode(vx_graph graph, vx_image input, vx_array output,
827  vx_image mask, vx_array tracked_points,
828  vx_uint32 type, vx_uint32 threshold, vx_uint32 cell_size,
829  vx_scalar num_corners);
830 
870 NVX_C_API vx_status nvxuFastTrack(vx_context context, vx_image input, vx_array output,
871  vx_image mask, vx_array tracked_points,
872  vx_uint32 type, vx_uint32 threshold, vx_uint32 cell_size,
873  vx_scalar num_corners);
874 
875 //----------------------------------------------------------------------------
876 // Primitive : Semi-Global Matching
877 //----------------------------------------------------------------------------
878 
899 
901 };
902 
909 };
910 
934  vx_image left,
935  vx_image right,
936  vx_image disparity,
937  vx_int32 minD,
938  vx_int32 maxD,
939  vx_int32 P1,
940  vx_int32 P2,
941  vx_int32 sad,
942  vx_int32 clip,
943  vx_int32 max_diff,
944  vx_int32 uniqueness,
945  vx_enum scanlines_mask,
946  vx_enum flags);
947 
971  vx_image left,
972  vx_image right,
973  vx_image disparity,
974  vx_int32 minD,
975  vx_int32 maxD,
976  vx_int32 P1,
977  vx_int32 P2,
978  vx_int32 sad,
979  vx_int32 clip,
980  vx_int32 max_diff,
981  vx_int32 uniqueness,
982  vx_enum scanlines_mask,
983  vx_enum flags);
984 
985 //----------------------------------------------------------------------------
986 // Primitive : Copy Image
987 //----------------------------------------------------------------------------
988 
1003 NVX_C_API vx_node nvxCopyImageNode(vx_graph graph,
1004  vx_image src,
1005  vx_image dst);
1006 
1027 NVX_C_API vx_status nvxuCopyImage(vx_context context,
1028  vx_image src,
1029  vx_image dst);
1030 
1031 //----------------------------------------------------------------------------
1032 // Primitive : Flip Image
1033 //----------------------------------------------------------------------------
1034 
1040 {
1044 };
1045 
1061 NVX_C_API vx_node nvxFlipImageNode(vx_graph graph, vx_image input, vx_image output, vx_enum flip_mode);
1062 
1084 NVX_C_API vx_status nvxuFlipImage(vx_context context, vx_image input, vx_image output, vx_enum flip_mode);
1085 
1086 //----------------------------------------------------------------------------
1087 // Primitive : Hough Circles
1088 //----------------------------------------------------------------------------
1089 
1133 NVX_C_API vx_node nvxHoughCirclesNode(vx_graph graph,
1134  vx_image edges, vx_image dx, vx_image dy,
1135  vx_array circles, vx_scalar s_num_detections,
1136  vx_float32 dp, vx_float32 minDist,
1137  vx_uint32 minRadius, vx_uint32 maxRadius,
1138  vx_uint32 acc_threshold);
1139 
1191 NVX_C_API vx_status nvxuHoughCircles(vx_context context,
1192  vx_image edges, vx_image dx, vx_image dy,
1193  vx_array circles, vx_scalar s_num_detections,
1194  vx_float32 dp, vx_float32 minDist,
1195  vx_uint32 minRadius, vx_uint32 maxRadius,
1196  vx_uint32 acc_threshold);
1197 
1198 //----------------------------------------------------------------------------
1199 // Primitive : Hough Lines
1200 //----------------------------------------------------------------------------
1201 
1226 NVX_C_API vx_node nvxHoughLinesNode(vx_graph graph, vx_image input, vx_array output,
1227  vx_float32 rho, vx_float32 theta, vx_uint32 threshold,
1228  vx_scalar num_lines);
1229 
1262 NVX_C_API vx_status nvxuHoughLines(vx_context context, vx_image input, vx_array output,
1263  vx_float32 rho, vx_float32 theta, vx_uint32 threshold,
1264  vx_scalar num_lines);
1265 
1293 NVX_C_API vx_node nvxHoughSegmentsNode(vx_graph graph, vx_image input, vx_array output,
1294  vx_float32 rho, vx_float32 theta, vx_uint32 threshold, vx_uint32 minLineLength, vx_uint32 maxLineGap,
1295  vx_scalar num_segments);
1296 
1332 NVX_C_API vx_status nvxuHoughSegments(vx_context context, vx_image input, vx_array output,
1333  vx_float32 rho, vx_float32 theta, vx_uint32 threshold, vx_uint32 minLineLength, vx_uint32 maxLineGap,
1334  vx_scalar num_segments);
1335 
1336 //----------------------------------------------------------------------------
1337 // Primitive : Scharr3x3
1338 //----------------------------------------------------------------------------
1339 
1357 NVX_C_API vx_node nvxScharr3x3Node(vx_graph graph, vx_image input, vx_image grad_x, vx_image grad_y);
1358 
1384 NVX_C_API vx_status nvxuScharr3x3(vx_context context, vx_image input, vx_image grad_x, vx_image grad_y);
1385 
1386 //----------------------------------------------------------------------------
1387 // Primitive : Laplacian
1388 //----------------------------------------------------------------------------
1389 
1402 NVX_C_API vx_node nvxLaplacian3x3Node(vx_graph graph, vx_image input, vx_image output);
1403 
1424 NVX_C_API vx_status nvxuLaplacian3x3(vx_context context, vx_image input, vx_image output);
1425 
1426 //----------------------------------------------------------------------------
1427 // Primitive : Median Flow
1428 //----------------------------------------------------------------------------
1429 
1454 NVX_C_API vx_node nvxMedianFlowNode(vx_graph graph, vx_array prev_pts, vx_array next_pts, vx_array pts_fb, vx_array out,
1455  vx_bool estimate_scale, vx_bool filter_flow_by_err, vx_float32 error_fb_thresh);
1456 
1489 NVX_C_API vx_status nvxuMedianFlow(vx_context context, vx_array prev_pts, vx_array next_pts, vx_array pts_fb, vx_array out,
1490  vx_bool estimate_scale, vx_bool filter_flow_by_err, vx_float32 error_fb_thresh);
1491 //----------------------------------------------------------------------------
1492 // Primitive : Stereo Block Matching
1493 //----------------------------------------------------------------------------
1494 
1514 NVX_C_API vx_node nvxStereoBlockMatchingNode(vx_graph graph, vx_image left, vx_image right, vx_image disp,
1515  vx_uint32 winSize, vx_uint32 maxDisparity);
1516 
1544 NVX_C_API vx_status nvxuStereoBlockMatching(vx_context context, vx_image left, vx_image right, vx_image disp,
1545  vx_uint32 winSize, vx_uint32 maxDisparity);
1546 
1547 //----------------------------------------------------------------------------
1548 // Primitive : Find Homography
1549 //----------------------------------------------------------------------------
1550 
1562 };
1563 
1603 NVX_C_API vx_node nvxFindHomographyNode(vx_graph graph, vx_array srcPoints, vx_array dstPoints, vx_matrix homography,
1604  vx_enum method, vx_float32 threshold,
1605  vx_int32 maxEstimateIters, vx_int32 maxRefineIters,
1606  vx_float32 confidence, vx_float32 outlierRatio,
1607  vx_array inliers);
1608 
1649 NVX_C_API vx_status nvxuFindHomography(vx_context context, vx_array srcPoints, vx_array dstPoints, vx_matrix homography,
1650  vx_enum method, vx_float32 threshold,
1651  vx_int32 maxEstimateIters, vx_int32 maxRefineIters,
1652  vx_float32 confidence, vx_float32 outlierRatio,
1653  vx_array inliers);
1654 
1655 //----------------------------------------------------------------------------
1656 // Primitive : Create Motion Field
1657 //----------------------------------------------------------------------------
1658 
1710 NVX_C_API vx_node nvxCreateMotionFieldNode(vx_graph graph,
1711  vx_image ref_image, vx_image cur_image,
1712  vx_image anchor, vx_image bias,
1713  vx_image best_mv0, vx_image best_mv1,
1714  vx_image sad_table,
1715  vx_int32 blockSize,
1716  vx_int32 searchWindowWidth, vx_int32 searchWindowHeight,
1717  vx_float32 biasWeight,
1718  vx_int32 mvDivFactor);
1719 
1779 NVX_C_API vx_status nvxuCreateMotionField(vx_context context,
1780  vx_image ref_image, vx_image cur_image,
1781  vx_image anchor, vx_image bias,
1782  vx_image best_mv0, vx_image best_mv1,
1783  vx_image sad_table,
1784  vx_int32 blockSize,
1785  vx_int32 searchWindowWidth, vx_int32 searchWindowHeight,
1786  vx_float32 biasWeight,
1787  vx_int32 mvDivFactor);
1788 
1789 //----------------------------------------------------------------------------
1790 // Primitive : Refine Motion Field
1791 //----------------------------------------------------------------------------
1792 
1819 NVX_C_API vx_node nvxRefineMotionFieldNode(vx_graph graph,
1820  vx_image in_mv0, vx_image in_mv1,
1821  vx_image sad_table,
1822  vx_image out_mv0, vx_image out_mv1,
1823  vx_int32 searchWindowWidth, vx_int32 searchWindowHeight,
1824  vx_int32 numIterations,
1825  vx_float32 smoothnessFactor,
1826  vx_int32 mvDivFactor);
1827 
1862 NVX_C_API vx_status nvxuRefineMotionField(vx_context context,
1863  vx_image in_mv0, vx_image in_mv1,
1864  vx_image sad_table,
1865  vx_image out_mv0, vx_image out_mv1,
1866  vx_int32 searchWindowWidth, vx_int32 searchWindowHeight,
1867  vx_int32 numIterations,
1868  vx_float32 smoothnessFactor,
1869  vx_int32 mvDivFactor);
1870 
1871 //----------------------------------------------------------------------------
1872 // Primitive : Partition Motion Field
1873 //----------------------------------------------------------------------------
1874 
1898  vx_image ref_image, vx_image cur_image,
1899  vx_image in_mv_0, vx_image in_mv_1,
1900  vx_image out_mv_0, vx_image out_mv_1,
1901  vx_float32 smoothnessFactor,
1902  vx_int32 mvDivFactor);
1903 
1935  vx_image ref_image, vx_image cur_image,
1936  vx_image in_mv_0, vx_image in_mv_1,
1937  vx_image out_mv_0, vx_image out_mv_1,
1938  vx_float32 smoothnessFactor,
1939  vx_int32 mvDivFactor);
1940 
1941 //----------------------------------------------------------------------------
1942 // Primitive : Multiply by Scalar
1943 //----------------------------------------------------------------------------
1944 
1961 NVX_C_API vx_node nvxMultiplyByScalarNode(vx_graph graph,
1962  vx_image src, vx_image dst,
1963  vx_float32 alpha);
1964 
1987 NVX_C_API vx_status nvxuMultiplyByScalar(vx_context context,
1988  vx_image src, vx_image dst,
1989  vx_float32 alpha);
1990 
1991 #endif
struct _vx_image * vx_image
An opaque reference to an image.
Definition: vx_types.h:186
vx_status nvxuFlipImage(vx_context context, vx_image input, vx_image output, vx_enum flip_mode)
[Immediate] Flips the input image.
nvx_find_homography_method_e
Method used to compute a homography matrix.
Definition: nvx.h:1555
vx_status nvxuHoughCircles(vx_context context, vx_image edges, vx_image dx, vx_image dy, vx_array circles, vx_scalar s_num_detections, vx_float32 dp, vx_float32 minDist, vx_uint32 minRadius, vx_uint32 maxRadius, vx_uint32 acc_threshold)
[Immediate] Detects circles in a binary image.
struct _vx_delay * vx_delay
The delay object. This is like a ring buffer of objects that is maintained by the OpenVX implementati...
Definition: vx_types.h:230
vx_bool
A Boolean value. This allows 0 to be FALSE, as it is in C, and any non-zero to be TRUE...
Definition: vx_types.h:292
aggregate cost from left to right diagonally starting from the bottom.
Definition: nvx.h:892
vx_node nvxHarrisTrackNode(vx_graph graph, vx_image input, vx_array output, vx_image mask, vx_array tracked_points, vx_float32 k, vx_float32 threshold, vx_uint32 cell_size, vx_scalar num_corners)
[Graph] Detects and tracks Harris corners for the input image.
vx_status nvxMapRemapPatch(vx_remap remap, vx_rectangle_t *rect, vx_imagepatch_addressing_t *addr, void **ptr, vx_enum usage)
Maps a rectangular patch (subset) of a remap object.
Any device.
Definition: nvx.h:418
nvx_accessor_e
Extended memory accessors.
Definition: nvx.h:354
A floating value for vendor-defined struct base index.
Definition: vx_types.h:348
A regular method using all the points.
Definition: nvx.h:1557
filter cost at top image area with low gradients.
Definition: nvx.h:908
Defines a 4D point (float coordinates).
Definition: nvx.h:210
Indicates that the CUDA-capable GPU is not supported.
Definition: nvx.h:132
vx_float32 y
Holds the y coordinate.
Definition: nvx.h:227
Specifies Laplacian 3 x 3 Kernel.
Definition: nvx.h:166
Specifies Median Flow Kernel.
Definition: nvx.h:168
NVIDIA Corporation.
Definition: vx_vendors.h:40
nvx_type_e
Defines additional types.
Definition: nvx.h:113
struct _vx_array * vx_array
The Array Object. Array is a strongly-typed container for other data structures.
Definition: vx_types.h:279
Specifies Hough Lines Kernel.
Definition: nvx.h:158
A Change of the parameter meta-data implies a node re-initialization.
Definition: nvx.h:86
vx_status nvxUnmapImagePatch(vx_image image, const vx_rectangle_t *rect, vx_uint32 plane_index, void *ptr, vx_enum memory_type)
Unmaps a mapped patch (subset) of an image.
Gets the CUDA stream object associated with the current node.
Definition: nvx.h:706
nvx_sgm_flags_e
Defines extra flags for SGM algorithm.
Definition: nvx.h:907
size_t vx_size
A wrapper of size_t to keep the naming convention uniform.
Definition: vx_types.h:166
vx_node nvxFastTrackNode(vx_graph graph, vx_image input, vx_array output, vx_image mask, vx_array tracked_points, vx_uint32 type, vx_uint32 threshold, vx_uint32 cell_size, vx_scalar num_corners)
[Graph] Detects and tracks corners using the FAST algorithm.
void nvxGetVersionInfo(nvx_version_info_t *info)
Gets information about VisionWorks library version.
Defines a 2D point (float coordinates).
Definition: nvx.h:191
VisionWorks library version information.
Definition: nvx.h:35
A floating value used for bound checking the VisionWorks object types.
Definition: nvx.h:123
int32_t vx_enum
Sets the standard enumeration type size to be a fixed quantity.
Definition: vx_types.h:161
vx_node nvxSemiGlobalMatchingNode(vx_graph graph, vx_image left, vx_image right, vx_image disparity, vx_int32 minD, vx_int32 maxD, vx_int32 P1, vx_int32 P2, vx_int32 sad, vx_int32 clip, vx_int32 max_diff, vx_int32 uniqueness, vx_enum scanlines_mask, vx_enum flags)
[Graph] evaluate disparity given 2 stereo images using the SGM algorithm.
int32_t vx_int32
A 32-bit signed value.
Definition: vx_types.h:120
nvx_node_attribute_e
The extended node attributes list.
Definition: nvx.h:695
Vertical flipping of the image.
Definition: nvx.h:1042
vx_status nvxuMedianFlow(vx_context context, vx_array prev_pts, vx_array next_pts, vx_array pts_fb, vx_array out, vx_bool estimate_scale, vx_bool filter_flow_by_err, vx_float32 error_fb_thresh)
[Immediate] Computes median flow.
nvx_scanline_e
Defines scan line's directions used during cost aggregation step.
Definition: nvx.h:883
nvx_import_type_e
Extended import type.
Definition: nvx.h:367
WO with CUDA pointer.
Definition: nvx.h:358
vx_float32 scale
Holds the scale initialized to 0 by corner detectors.
Definition: nvx.h:229
Disables keypoint's error calculation by optical flow and similar primitives.
Definition: nvx.h:568
A Change of the parameter meta-data or value implies a node re-initialization.
Definition: nvx.h:88
nvx_mutability_e
Defines the mutability state of custom kernel parameter.
Definition: nvx.h:82
vx_uint32 openvx_patch_version
Patch version of OpenVX standard implemented by VisionWorks library.
Definition: nvx.h:43
float vx_float32
A 32-bit float value.
Definition: vx_types.h:138
vx_node nvxMedianFlowNode(vx_graph graph, vx_array prev_pts, vx_array next_pts, vx_array pts_fb, vx_array out, vx_bool estimate_scale, vx_bool filter_flow_by_err, vx_float32 error_fb_thresh)
[Graph] Computes median flow.
vx_uint32 visionworks_minor_version
Minor version of VisionWorks library.
Definition: nvx.h:37
vx_status nvxMapImagePatch(vx_image image, const vx_rectangle_t *rect, vx_uint32 plane_index, vx_imagepatch_addressing_t *addr, void **ptr, vx_enum usage, vx_enum memory_type, vx_uint32 flags)
Maps a rectangular patch (subset) of an image from a single plane.
vx_status nvxuHoughSegments(vx_context context, vx_image input, vx_array output, vx_float32 rho, vx_float32 theta, vx_uint32 threshold, vx_uint32 minLineLength, vx_uint32 maxLineGap, vx_scalar num_segments)
[Immediate] Finds line segments in a binary image using the probabilistic Hough transform.
vx_uint32 openvx_major_version
Major version of OpenVX standard implemented by VisionWorks library.
Definition: nvx.h:41
A single plane of 48 bit pixels as 3 interleaved 16 bit signed integers of R then G then B data...
Definition: nvx.h:257
vx_node nvxFlipImageNode(vx_graph graph, vx_image input, vx_image output, vx_enum flip_mode)
[Graph] Flips the input image.
Specifies FAST Track Kernel.
Definition: nvx.h:150
Aggregate cost from four directions forming a cross.
Definition: nvx.h:895
vx_node nvxCreateMotionFieldNode(vx_graph graph, vx_image ref_image, vx_image cur_image, vx_image anchor, vx_image bias, vx_image best_mv0, vx_image best_mv1, vx_image sad_table, vx_int32 blockSize, vx_int32 searchWindowWidth, vx_int32 searchWindowHeight, vx_float32 biasWeight, vx_int32 mvDivFactor)
[Graph] Creates initial motion field from a current image into reference image.
vx_enum vx_status
A formal status type with known fixed size.
Definition: vx_types.h:421
vx_status nvxuScharr3x3(vx_context context, vx_image input, vx_image grad_x, vx_image grad_y)
[Immediate] Applies Scharr 3 x 3 operator.
vx_status nvxuHarrisTrack(vx_context context, vx_image input, vx_array output, vx_image mask, vx_array tracked_points, vx_float32 k, vx_float32 threshold, vx_uint32 cell_size, vx_scalar num_corners)
[Immediate] Detects and tracks Harris corners for the input image.
#define VX_ENUM_BASE(vendor, id)
Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumera...
struct _vx_context * vx_context
An opaque reference to the implementation context.
Definition: vx_types.h:222
aggregate cost from right to left diagonally starting from the bottom.
Definition: nvx.h:890
vx_status nvxuPartitionMotionField(vx_context context, vx_image ref_image, vx_image cur_image, vx_image in_mv_0, vx_image in_mv_1, vx_image out_mv_0, vx_image out_mv_1, vx_float32 smoothnessFactor, vx_int32 mvDivFactor)
[Immediate] Partitions motion vector field for blocks onto motion vector field into quarter sized blo...
struct _vx_reference * vx_reference
A generic opaque reference to any object within OpenVX.
Definition: vx_types.h:154
vx_float32 orientation
Holds the orientation initialized to 0 by corner detectors.
Definition: nvx.h:230
vx_node nvxMultiplyByScalarNode(vx_graph graph, vx_image src, vx_image dst, vx_float32 alpha)
[Graph] Multiplies an input image by scalar and optionally converts it to another data type...
vx_float32 y
The Y coordinate.
Definition: nvx.h:193
vx_uint32 visionworks_major_version
Major version of VisionWorks library.
Definition: nvx.h:36
VisionWorks module version.
Definition: nvx.h:50
Uses default behavior for keypoint's error calculation.
Definition: nvx.h:576
ID of the CUDA device that was selected as current prior to vx_context object creation (use an int pa...
Definition: nvx.h:405
vx_node nvxLaplacian3x3Node(vx_graph graph, vx_image input, vx_image output)
[Graph] Creates a Laplacian filter node.
vx_float32 z
The Z coordinate.
Definition: nvx.h:203
vx_int32 tracking_status
Holds tracking status. Zero indicates a lost point. Initialized to 1 by corner detectors.
Definition: nvx.h:231
nvx_kernel_e
Defines a list of extended vision kernels.
Definition: nvx.h:146
aggregate cost from left to right diagonally starting from the top.
Definition: nvx.h:885
#define NVX_LIBRARY_NVIDIA
The extended set of kernels provided by NVIDIA.
Definition: nvx.h:140
Indicates internal CUDA failure.
Definition: nvx.h:133
Specifies Hough Circles Kernel.
Definition: nvx.h:162
Horizontal flipping of the image.
Definition: nvx.h:1041
vx_node nvxScharr3x3Node(vx_graph graph, vx_image input, vx_image grad_x, vx_image grad_y)
[Graph] Applies Scharr 3 x 3 operator.
vx_float32 error
Holds a tracking method-specific error. Initialized to 0 by corner detectors.
Definition: nvx.h:232
vx_status nvxuFindHomography(vx_context context, vx_array srcPoints, vx_array dstPoints, vx_matrix homography, vx_enum method, vx_float32 threshold, vx_int32 maxEstimateIters, vx_int32 maxRefineIters, vx_float32 confidence, vx_float32 outlierRatio, vx_array inliers)
[Immediate] Computes homography matrix.
Specifies Scharr 3 x 3 Kernel.
Definition: nvx.h:164
vx_float32 x
The X coordinate.
Definition: nvx.h:211
The memory import enumeration.
Definition: vx_types.h:557
A nvx_point3f_t.
Definition: nvx.h:115
RW with CUDA pointer.
Definition: nvx.h:360
The addressing image patch structure is used by the Host only to address pixels in an image patch...
Definition: vx_types.h:1329
vx_float32 x
The X coordinate.
Definition: nvx.h:201
A nvx_keypointf_t.
Definition: nvx.h:117
vx_node nvxRefineMotionFieldNode(vx_graph graph, vx_image in_mv0, vx_image in_mv1, vx_image sad_table, vx_image out_mv0, vx_image out_mv1, vx_int32 searchWindowWidth, vx_int32 searchWindowHeight, vx_int32 numIterations, vx_float32 smoothnessFactor, vx_int32 mvDivFactor)
[Graph] Iteratively refines motion field by applying the motion vectors to a center block in a 3x3 bl...
A vx_context.
Definition: vx_types.h:357
GPU device.
Definition: nvx.h:421
#define VX_ATTRIBUTE_BASE(vendor, object)
Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumera...
A floating value for comparison between structs and objects.
Definition: nvx.h:120
vx_node nvxCopyImageNode(vx_graph graph, vx_image src, vx_image dst)
[Graph] Copies data from one image to another.
vx_node nvxHoughSegmentsNode(vx_graph graph, vx_image input, vx_array output, vx_float32 rho, vx_float32 theta, vx_uint32 threshold, vx_uint32 minLineLength, vx_uint32 maxLineGap, vx_scalar num_segments)
[Graph] Finds line segments in a binary image using the probabilistic Hough transform.
vx_status nvxuStereoBlockMatching(vx_context context, vx_image left, vx_image right, vx_image disp, vx_uint32 winSize, vx_uint32 maxDisparity)
[Immediate] This primitive computes a dense disparity map for a given stereo pair.
Directive Values.
Definition: vx_types.h:546
Specifies Find Homography Kernel.
Definition: nvx.h:172
vx_float32 y
The Y coordinate.
Definition: nvx.h:202
aggregate cost from right to left diagonally starting from the top.
Definition: nvx.h:887
vx_status nvxRegisterAutoAging(vx_graph graph, vx_delay delay)
Registers a delay for auto-aging.
Enables keypoint's error calculation by optical flow and similar primitives.
Definition: nvx.h:572
nvx_context_attribute_e
The extended context attributes list.
Definition: nvx.h:382
A Change of the parameter does not imply a node re-initialization.
Definition: nvx.h:84
vx_status nvxSetNodeTargetDevice(vx_node node, vx_enum device)
Sets the target device type for the node.
A nvx_point4f_t.
Definition: nvx.h:116
An accessor flag type.
Definition: vx_types.h:560
vx_status nvxUnmapRemapPatch(vx_remap remap, void *ptr)
Unmaps a mapped patch (subset) of a remap object.
struct _vx_kernel * vx_kernel
An opaque reference to the descriptor of a kernel.
Definition: vx_types.h:194
vx_node nvxStereoBlockMatchingNode(vx_graph graph, vx_image left, vx_image right, vx_image disp, vx_uint32 winSize, vx_uint32 maxDisparity)
[Graph] This primitive computes a dense disparity map for a given stereo pair.
A single plane of vx_int16[2] data (eg.
Definition: nvx.h:251
The CUDA import memory type.
Definition: nvx.h:369
Specifies Create Motion Field Kernel.
Definition: nvx.h:174
Specifies Hough Segments Kernel.
Definition: nvx.h:160
Specifies Flip Image Kernel.
Definition: nvx.h:152
vx_node nvxFindHomographyNode(vx_graph graph, vx_array srcPoints, vx_array dstPoints, vx_matrix homography, vx_enum method, vx_float32 threshold, vx_int32 maxEstimateIters, vx_int32 maxRefineIters, vx_float32 confidence, vx_float32 outlierRatio, vx_array inliers)
[Graph] Computes homography matrix.
nvx_status_e
Defines additional error codes.
Definition: nvx.h:130
aggregate cost from right to left horizontally.
Definition: nvx.h:889
The rectangle data structure that is shared with the users.
Definition: vx_types.h:1422
vx_uint32 minor
Minor version component.
Definition: nvx.h:52
#define VX_DF_IMAGE(a, b, c, d)
Converts a set of four chars into a uint32_t container of a VX_DF_IMAGE code.
vx_status nvxuCopyImage(vx_context context, vx_image src, vx_image dst)
[Immediate] Copies data from one image to another.
vx_node nvxPartitionMotionFieldNode(vx_graph graph, vx_image ref_image, vx_image cur_image, vx_image in_mv_0, vx_image in_mv_1, vx_image out_mv_0, vx_image out_mv_1, vx_float32 smoothnessFactor, vx_int32 mvDivFactor)
[Graph] Partitions motion vector field for blocks onto motion vector field into quarter sized blocks ...
Parameter mutability.
Definition: nvx.h:75
Use default behavior for performance measurement.
Definition: nvx.h:590
Least-Median robust method.
Definition: nvx.h:1561
vx_float32 y
The Y coordinate.
Definition: nvx.h:212
vx_uint32 openvx_minor_version
Minor version of OpenVX standard implemented by VisionWorks library.
Definition: nvx.h:42
vx_image nvxCreateImageFromChannel(vx_image imgref, vx_enum channel)
Creates an image from a single channel of another image.
The top level OpenVX Header.
A floating value for vendor defined object base index.
Definition: vx_types.h:378
Defines a 3D point (float coordinates).
Definition: nvx.h:200
aggregate cost over all scan lines.
Definition: nvx.h:900
A single plane of vx_float32 data.
Definition: nvx.h:245
Sets the graph verification options.
Definition: nvx.h:523
vx_node nvxHoughLinesNode(vx_graph graph, vx_image input, vx_array output, vx_float32 rho, vx_float32 theta, vx_uint32 threshold, vx_scalar num_lines)
[Graph] Finds lines on image using standard Hough transform.
Simultaneous horizontal and vertical flipping of the image.
Definition: nvx.h:1043
vx_float32 z
The Z coordinate.
Definition: nvx.h:213
vx_float32 strength
Holds the strength of the keypoint. Its definition is specific to the corner detector.
Definition: nvx.h:228
nvx_df_image_e
Defines additional image formats.
Definition: nvx.h:243
Specifies Harris Track Kernel.
Definition: nvx.h:148
Enables performance measurement.
Definition: nvx.h:586
nvx_graph_attribute_e
The extended graph attributes list.
Definition: nvx.h:503
CPU device.
Definition: nvx.h:420
The OpenVX Utility Library.
vx_uint32 patch
Patch version component.
Definition: nvx.h:53
Preferred target device for the immediate primitive execution mode (use a nvx_device_type_e).
Definition: nvx.h:399
A vx_node.
Definition: vx_types.h:359
Informs if graph verification is needed before graph execution.
Definition: nvx.h:546
vx_status nvxuFastTrack(vx_context context, vx_image input, vx_array output, vx_image mask, vx_array tracked_points, vx_uint32 type, vx_uint32 threshold, vx_uint32 cell_size, vx_scalar num_corners)
[Immediate] Detects and tracks corners using the FAST algorithm.
RANSAC-based robust method.
Definition: nvx.h:1559
struct _vx_remap * vx_remap
The remap table Object. A remap table contains per-pixel mapping of output pixels to input pixels...
Definition: vx_types.h:274
uint32_t vx_uint32
A 32-bit unsigned value.
Definition: vx_types.h:100
Indicates that no CUDA-capable GPU was found.
Definition: nvx.h:131
aggregate cost from left to right horizontally.
Definition: nvx.h:884
Specifies Multiply by Scalar Kernel.
Definition: nvx.h:180
vx_float32 x
Holds the x coordinate.
Definition: nvx.h:226
vx_status nvxSetKernelParameterMutability(vx_kernel kernel, vx_uint32 index, vx_enum mutability)
Allows users to set the mutability of the custom kernel. By default, kernel parameters are set to NVX...
#define VX_KERNEL_BASE(vendor, lib)
Defines the manner in which to combine the Vendor and Library IDs to get the base value of the enumer...
Specifies Copy Image Kernel.
Definition: nvx.h:154
aggregate cost from top to bottom vertically.
Definition: nvx.h:886
Specifies Stereo Block Matching Kernel.
Definition: nvx.h:170
A nvx_point2f_t.
Definition: nvx.h:114
vx_status nvxuSemiGlobalMatching(vx_context context, vx_image left, vx_image right, vx_image disparity, vx_int32 minD, vx_int32 maxD, vx_int32 P1, vx_int32 P2, vx_int32 sad, vx_int32 clip, vx_int32 max_diff, vx_int32 uniqueness, vx_enum scanlines_mask, vx_enum flags)
[Immediate] evaluate disparity given 2 stereo images using the SGM algorithm.
vx_float32 w
The W coordinate.
Definition: nvx.h:214
vx_uint32 major
Major version component.
Definition: nvx.h:51
nvx_enum_e
Defines the additional set of supported enumerations.
Definition: nvx.h:74
Defines a keypoint data structure.
Definition: nvx.h:225
Disables performance measurement.
Definition: nvx.h:581
nvx_device_type_e
Defines types of devices that can execute vision functions.
Definition: nvx.h:416
struct _vx_graph * vx_graph
An opaque reference to a graph.
Definition: vx_types.h:215
The CUDA array import memory type.
Definition: nvx.h:371
A single plane of vx_float32[2] data (eg.
Definition: nvx.h:248
vx_status nvxuHoughLines(vx_context context, vx_image input, vx_array output, vx_float32 rho, vx_float32 theta, vx_uint32 threshold, vx_scalar num_lines)
[Immediate] Finds lines on image using standard Hough transform.
struct _vx_node * vx_node
An opaque reference to a kernel node.
Definition: vx_types.h:208
vx_node nvxHoughCirclesNode(vx_graph graph, vx_image edges, vx_image dx, vx_image dy, vx_array circles, vx_scalar s_num_detections, vx_float32 dp, vx_float32 minDist, vx_uint32 minRadius, vx_uint32 maxRadius, vx_uint32 acc_threshold)
[Graph] Detects circles in a binary image.
Specifies Refine Motion Field Kernel.
Definition: nvx.h:176
nvx_directive_e
Defines directives that control different features for graph / immediate processing.
Definition: nvx.h:563
Specifies Semi Global Matching Kernel.
Definition: nvx.h:156
Specifies Partition Motion Field Kernel.
Definition: nvx.h:178
vx_graph nvxCreateStreamGraph(vx_context context)
Creates an empty graph as a node stream.
struct _vx_matrix * vx_matrix
The Matrix Object. An MxN matrix of some unit type.
Definition: vx_types.h:249
struct _vx_scalar * vx_scalar
An opaque reference to a scalar.
Definition: vx_types.h:179
vx_status nvxuRefineMotionField(vx_context context, vx_image in_mv0, vx_image in_mv1, vx_image sad_table, vx_image out_mv0, vx_image out_mv1, vx_int32 searchWindowWidth, vx_int32 searchWindowHeight, vx_int32 numIterations, vx_float32 smoothnessFactor, vx_int32 mvDivFactor)
[Immediate] Iteratively refines motion field by applying the motion vectors to a center block in a 3x...
vx_status nvxuMultiplyByScalar(vx_context context, vx_image src, vx_image dst, vx_float32 alpha)
[Immediate] Multiplies an input image by scalar and optionally converts it to another data type...
A vx_graph.
Definition: vx_types.h:358
vx_status nvxReleaseReferenceList(vx_reference ref_list[], vx_size num_refs)
Releases a list of references to OpenVX objects.
aggregate cost from bottom to top vertically.
Definition: nvx.h:891
vx_status nvxuCreateMotionField(vx_context context, vx_image ref_image, vx_image cur_image, vx_image anchor, vx_image bias, vx_image best_mv0, vx_image best_mv1, vx_image sad_table, vx_int32 blockSize, vx_int32 searchWindowWidth, vx_int32 searchWindowHeight, vx_float32 biasWeight, vx_int32 mvDivFactor)
[Immediate] Creates initial motion field from a current image into reference image.
nvx_flip_mode_e
Defines modes for flip image operation.
Definition: nvx.h:1039
vx_status nvxuLaplacian3x3(vx_context context, vx_image input, vx_image output)
[Immediate] Applies a Laplacian operator to the input image.
vx_status nvxRetainReference(vx_reference ref)
Increments the reference counter of an object.
RO with CUDA pointer.
Definition: nvx.h:356
vx_uint32 visionworks_patch_version
Patch version of VisionWorks library.
Definition: nvx.h:38
vx_float32 x
The X coordinate.
Definition: nvx.h:192