VisionWorks Toolkit Reference

April 8, 2016 | 1.4 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvxcu.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 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 NVXCU_H
17 #define NVXCU_H
18 
19 #include <stdint.h>
20 #include <cuda_runtime_api.h>
21 #include <NVX/nvx_api_macros.h>
22 
23 //----------------------------------------------------------------------------
24 // Generic types
25 //----------------------------------------------------------------------------
26 
31 typedef enum _nvxcu_error_status_e {
39 
44 typedef enum _nvxcu_array_item_type_e {
45  NVXCU_TYPE_CHAR = 0x001,
46  NVXCU_TYPE_INT8 = 0x002,
47  NVXCU_TYPE_UINT8 = 0x003,
48  NVXCU_TYPE_INT16 = 0x004,
50  NVXCU_TYPE_INT32 = 0x006,
52  NVXCU_TYPE_INT64 = 0x008,
67 
73 #define NVXCU_DF_IMAGE(a, b, c, d) ((a) | (b << 8) | (c << 16) | (d << 24))
74 
80 #define NVXCU_ENUM_BASE(v, id) (((v) << 20) | (id << 12))
81 
87 typedef enum _nvxcu_enum_e {
97 } nvxcu_enum_e;
98 
104 typedef enum _nvxcu_convert_policy_e {
110 
116 typedef enum _nvxcu_df_image_e {
120  NVXCU_DF_IMAGE_RGB = NVXCU_DF_IMAGE('R','G','B','2'),
121 
126 
131 
136 
141 
146 
151 
156 
160  NVXCU_DF_IMAGE_U8 = NVXCU_DF_IMAGE('U','0','0','8'),
161 
165  NVXCU_DF_IMAGE_U16 = NVXCU_DF_IMAGE('U','0','1','6'),
166 
170  NVXCU_DF_IMAGE_S16 = NVXCU_DF_IMAGE('S','0','1','6'),
171 
175  NVXCU_DF_IMAGE_U32 = NVXCU_DF_IMAGE('U','0','3','2'),
176 
180  NVXCU_DF_IMAGE_S32 = NVXCU_DF_IMAGE('S','0','3','2'),
181 
185  NVXCU_DF_IMAGE_F32 = NVXCU_DF_IMAGE('F','0','3','2'),
186 
191 
196 
202 
208 typedef enum _nvxcu_channel_e {
217 
233 
239 typedef enum _nvxcu_interpolation_type_e {
247 
253 typedef enum _nvxcu_color_space_e {
265 
271 typedef enum _nvxcu_channel_range_e {
277 
283 typedef enum _nvxcu_border_mode_e {
291 
297 typedef enum _nvxcu_termination_criteria_e {
305 
311 typedef enum _nvxcu_norm_type_e {
317 
323 typedef enum _nvxcu_round_policy_e {
329 
335 typedef enum _nvxcu_flip_mode_e {
340 
346 typedef enum _nvxcu_scanline_e {
362 
365 
371 typedef enum _nvxcu_sgm_flags_e {
374 
379 #define NVXCU_SCALE_PYRAMID_HALF (0.5f)
380 
385 #define NVXCU_SCALE_PYRAMID_ORB (0.8408964f)
386 
392 typedef union _nvxcu_pixel_value_t {
393  uint8_t RGB[3];
394  uint16_t RGB16[3];
395  uint8_t RGBX[4];
396  uint8_t YUV[3];
397  uint8_t U8;
398  uint16_t U16;
399  int16_t S16;
400  int16_t S16n[4];
401  uint32_t U32;
402  int32_t S32;
403  float F32;
404  float F32n[4];
405  uint8_t reserved[16];
407 
413 typedef struct _nvxcu_border_t {
417 
422 typedef struct _nvxcu_keypoint_t {
423  int32_t x;
424  int32_t y;
425  float strength;
426  float scale;
427  float orientation;
428  int32_t tracking_status;
429  float error;
431 
436 typedef struct _nvxcu_keypointf_t {
437  float x;
438  float y;
439  float strength;
440  float scale;
441  float orientation;
442  int32_t tracking_status;
443  float error;
445 
450 typedef struct _nvxcu_rectangle_t {
451  uint32_t start_x;
452  uint32_t start_y;
453  uint32_t end_x;
454  uint32_t end_y;
456 
461 typedef struct _nvxcu_coordinates2d_t {
462  uint32_t x;
463  uint32_t y;
465 
470 typedef struct _nvxcu_coordinates3d_t {
471  uint32_t x;
472  uint32_t y;
473  uint32_t z;
475 
480 typedef struct _nvxcu_point2f_t {
481  float x;
482  float y;
484 
489 typedef struct _nvxcu_point3f_t {
490  float x;
491  float y;
492  float z;
494 
499 typedef struct _nvxcu_point4f_t {
500  float x;
501  float y;
502  float z;
503  float w;
505 
506 //----------------------------------------------------------------------------
507 // Temporary buffer wrapper
508 //----------------------------------------------------------------------------
509 
522 typedef struct _nvxcu_tmp_buf_size_t {
523  size_t dev_buf_size;
524  size_t host_buf_size;
526 
537 typedef struct _nvxcu_tmp_buf_t {
538  void *dev_ptr;
539  void *host_ptr;
541 
542 //----------------------------------------------------------------------------
543 // Image wrapper
544 //----------------------------------------------------------------------------
545 
550 #define NVXCU_NB_MAX_PLANES (4u)
551 
556 typedef enum _nvxcu_image_type_e {
560 
567 typedef struct _nvxcu_image_t {
570  uint32_t width;
571  uint32_t height;
572 } nvxcu_image_t;
573 
580 typedef struct _nvxcu_pitch_linear_image_t {
582  struct {
583  void *dev_ptr;
584  int32_t pitch_in_bytes;
585  } planes[NVXCU_NB_MAX_PLANES];
587 
593 typedef struct _nvxcu_uniform_image_t {
597 
598 //----------------------------------------------------------------------------
599 // Array wrapper
600 //----------------------------------------------------------------------------
601 
606 typedef enum _nvxcu_array_type_e {
609 
615 typedef struct _nvxcu_array_t {
618  uint32_t capacity;
619 } nvxcu_array_t;
620 
626 typedef struct _nvxcu_plain_array_t {
628  void *dev_ptr;
629  uint32_t *num_items_dev_ptr;
631 
632 //----------------------------------------------------------------------------
633 // Pyramid wrapper
634 //----------------------------------------------------------------------------
635 
640 typedef enum _nvxcu_pyramid_type_e {
643 
649 typedef struct _nvxcu_pyramid_t {
651  uint32_t num_levels;
652  float scale;
654 
660 typedef struct _nvxcu_pitch_linear_pyramid_t {
664 
665 //----------------------------------------------------------------------------
666 // Execution target
667 //----------------------------------------------------------------------------
668 
673 typedef enum _nvxcu_exec_target_type_e {
676 
682 typedef struct _nvxcu_exec_target_t {
685 
691 typedef struct _nvxcu_stream_exec_target_t {
693  cudaStream_t stream;
694  struct cudaDeviceProp dev_prop;
696 
697 //----------------------------------------------------------------------------
698 // ChannelExtract
699 //----------------------------------------------------------------------------
700 
720  nvxcu_channel_e channel,
721  const nvxcu_image_t* output,
722  const nvxcu_exec_target_t* exec_target);
723 
724 //----------------------------------------------------------------------------
725 // ChannelCombine
726 //----------------------------------------------------------------------------
727 
755  const nvxcu_image_t* plane1,
756  const nvxcu_image_t* plane2,
757  const nvxcu_image_t* plane3,
758  const nvxcu_image_t* output,
759  const nvxcu_exec_target_t* exec_target);
760 
761 //----------------------------------------------------------------------------
762 // AbsDiff
763 //----------------------------------------------------------------------------
764 
785 NVX_C_API nvxcu_error_status_e nvxcuAbsDiff(const nvxcu_image_t* in1,
786  const nvxcu_image_t* in2,
787  const nvxcu_image_t* out,
788  const nvxcu_exec_target_t* exec_target);
789 
790 //----------------------------------------------------------------------------
791 // Phase
792 //----------------------------------------------------------------------------
793 
815 NVX_C_API nvxcu_error_status_e nvxcuPhase(const nvxcu_image_t* grad_x,
816  const nvxcu_image_t* grad_y,
817  const nvxcu_image_t* orientation,
818  const nvxcu_exec_target_t* exec_target);
819 
820 //----------------------------------------------------------------------------
821 // Magnitude
822 //----------------------------------------------------------------------------
823 
845 NVX_C_API nvxcu_error_status_e nvxcuMagnitude(const nvxcu_image_t* grad_x,
846  const nvxcu_image_t* grad_y,
847  const nvxcu_image_t* mag,
848  const nvxcu_exec_target_t* exec_target);
849 
850 //----------------------------------------------------------------------------
851 // Threshold
852 //----------------------------------------------------------------------------
853 
876  nvxcu_pixel_value_t thresh_value,
877  nvxcu_pixel_value_t true_value,
878  nvxcu_pixel_value_t false_value,
879  const nvxcu_image_t* output,
880  const nvxcu_exec_target_t* exec_target);
881 
905  nvxcu_pixel_value_t thresh_lower_value,
906  nvxcu_pixel_value_t thresh_upper_value,
907  nvxcu_pixel_value_t true_value,
908  nvxcu_pixel_value_t false_value,
909  const nvxcu_image_t* output,
910  const nvxcu_exec_target_t* exec_target);
911 
912 //----------------------------------------------------------------------------
913 // AccumulateImage
914 //----------------------------------------------------------------------------
915 
935  const nvxcu_image_t* accum,
936  const nvxcu_exec_target_t* exec_target);
937 
938 //----------------------------------------------------------------------------
939 // AccumulateWeighted
940 //----------------------------------------------------------------------------
941 
962  float alpha,
963  const nvxcu_image_t* accum,
964  const nvxcu_exec_target_t* exec_target);
965 
966 //----------------------------------------------------------------------------
967 // AccumulateSquare
968 //----------------------------------------------------------------------------
969 
990  uint32_t shift,
991  const nvxcu_image_t* accum,
992  const nvxcu_exec_target_t* exec_target);
993 
994 //----------------------------------------------------------------------------
995 // And
996 //----------------------------------------------------------------------------
997 
1019  const nvxcu_image_t* in2,
1020  const nvxcu_image_t* out,
1021  const nvxcu_exec_target_t* exec_target);
1022 
1023 //----------------------------------------------------------------------------
1024 // Or
1025 //----------------------------------------------------------------------------
1026 
1048  const nvxcu_image_t* in2,
1049  const nvxcu_image_t* out,
1050  const nvxcu_exec_target_t* exec_target);
1051 
1052 //----------------------------------------------------------------------------
1053 // Xor
1054 //----------------------------------------------------------------------------
1055 
1077  const nvxcu_image_t* in2,
1078  const nvxcu_image_t* out,
1079  const nvxcu_exec_target_t* exec_target);
1080 
1081 //----------------------------------------------------------------------------
1082 // Not
1083 //----------------------------------------------------------------------------
1084 
1102 NVX_C_API nvxcu_error_status_e nvxcuBitwiseNot(const nvxcu_image_t* input,
1103  const nvxcu_image_t* output,
1104  const nvxcu_exec_target_t* exec_target);
1105 
1106 //----------------------------------------------------------------------------
1107 // Add
1108 //----------------------------------------------------------------------------
1109 
1133 NVX_C_API nvxcu_error_status_e nvxcuAdd(const nvxcu_image_t* in1,
1134  const nvxcu_image_t* in2,
1135  nvxcu_convert_policy_e policy,
1136  const nvxcu_image_t* out,
1137  const nvxcu_exec_target_t* exec_target);
1138 
1139 //----------------------------------------------------------------------------
1140 // Subtract
1141 //----------------------------------------------------------------------------
1142 
1166 NVX_C_API nvxcu_error_status_e nvxcuSubtract(const nvxcu_image_t* in1,
1167  const nvxcu_image_t* in2,
1168  nvxcu_convert_policy_e policy,
1169  const nvxcu_image_t* out,
1170  const nvxcu_exec_target_t* exec_target);
1171 
1172 //----------------------------------------------------------------------------
1173 // Subtract
1174 //----------------------------------------------------------------------------
1175 
1201 NVX_C_API nvxcu_error_status_e nvxcuMultiply(const nvxcu_image_t* in1,
1202  const nvxcu_image_t* in2,
1203  float scale,
1204  nvxcu_convert_policy_e overflow_policy,
1205  nvxcu_round_policy_e rounding_policy,
1206  const nvxcu_image_t* out,
1207  const nvxcu_exec_target_t* exec_target);
1208 
1209 //----------------------------------------------------------------------------
1210 // ConvertDepth
1211 //----------------------------------------------------------------------------
1212 
1232  const nvxcu_image_t* output,
1233  nvxcu_convert_policy_e policy,
1234  int32_t shift,
1235  const nvxcu_exec_target_t* exec_target);
1236 
1237 //----------------------------------------------------------------------------
1238 // ColorConvert
1239 //----------------------------------------------------------------------------
1240 
1261  const nvxcu_image_t* output,
1262  nvxcu_color_space_e color_space,
1263  nvxcu_channel_range_e channel_range,
1264  const nvxcu_exec_target_t* exec_target);
1265 
1266 //----------------------------------------------------------------------------
1267 // TableLookup
1268 //----------------------------------------------------------------------------
1269 
1290 NVX_C_API nvxcu_error_status_e nvxcuTableLookup(const nvxcu_image_t* input,
1291  const uint8_t* lut_dev_ptr,
1292  uint32_t lut_count,
1293  const nvxcu_image_t* output,
1294  const nvxcu_exec_target_t* exec_target);
1295 
1296 //----------------------------------------------------------------------------
1297 // Sobel3x3
1298 //----------------------------------------------------------------------------
1299 
1323 NVX_C_API nvxcu_error_status_e nvxcuSobel3x3(const nvxcu_image_t* input,
1324  const nvxcu_image_t* output_x,
1325  const nvxcu_image_t* output_y,
1326  const nvxcu_border_t* border,
1327  const nvxcu_exec_target_t* exec_target);
1328 
1329 //----------------------------------------------------------------------------
1330 // Erode3x3
1331 //----------------------------------------------------------------------------
1332 
1351 NVX_C_API nvxcu_error_status_e nvxcuErode3x3(const nvxcu_image_t* input,
1352  const nvxcu_image_t* output,
1353  const nvxcu_border_t* border,
1354  const nvxcu_exec_target_t* exec_target);
1355 
1356 //----------------------------------------------------------------------------
1357 // Dilate3x3
1358 //----------------------------------------------------------------------------
1359 
1378 NVX_C_API nvxcu_error_status_e nvxcuDilate3x3(const nvxcu_image_t* input,
1379  const nvxcu_image_t* output,
1380  const nvxcu_border_t* border,
1381  const nvxcu_exec_target_t* exec_target);
1382 
1383 //----------------------------------------------------------------------------
1384 // Median3x3
1385 //----------------------------------------------------------------------------
1386 
1405 NVX_C_API nvxcu_error_status_e nvxcuMedian3x3(const nvxcu_image_t* input,
1406  const nvxcu_image_t* output,
1407  const nvxcu_border_t* border,
1408  const nvxcu_exec_target_t* exec_target);
1409 
1410 //----------------------------------------------------------------------------
1411 // Box3x3
1412 //----------------------------------------------------------------------------
1413 
1432 NVX_C_API nvxcu_error_status_e nvxcuBox3x3(const nvxcu_image_t* input,
1433  const nvxcu_image_t* output,
1434  const nvxcu_border_t* border,
1435  const nvxcu_exec_target_t* exec_target);
1436 
1437 //----------------------------------------------------------------------------
1438 // Gaussian3x3
1439 //----------------------------------------------------------------------------
1440 
1459 NVX_C_API nvxcu_error_status_e nvxcuGaussian3x3(const nvxcu_image_t* input,
1460  const nvxcu_image_t* output,
1461  const nvxcu_border_t* border,
1462  const nvxcu_exec_target_t* exec_target);
1463 
1464 //----------------------------------------------------------------------------
1465 // Scharr3x3
1466 //----------------------------------------------------------------------------
1467 
1491 NVX_C_API nvxcu_error_status_e nvxcuScharr3x3(const nvxcu_image_t* input,
1492  const nvxcu_image_t* output_x, // optional
1493  const nvxcu_image_t* output_y, // optional
1494  const nvxcu_border_t* border,
1495  const nvxcu_exec_target_t* exec_target);
1496 
1497 //----------------------------------------------------------------------------
1498 // Laplacian3x3
1499 //----------------------------------------------------------------------------
1500 
1520  const nvxcu_image_t* output,
1521  const nvxcu_border_t* border,
1522  const nvxcu_exec_target_t* exec_target);
1523 
1524 //----------------------------------------------------------------------------
1525 // IntegralImage
1526 //----------------------------------------------------------------------------
1527 
1547  const nvxcu_image_t* output,
1548  const nvxcu_exec_target_t* exec_target);
1549 
1550 //----------------------------------------------------------------------------
1551 // Histogram
1552 //----------------------------------------------------------------------------
1553 
1571 NVX_C_API nvxcu_tmp_buf_size_t nvxcuHistogram_GetBufSize(uint32_t input_width, uint32_t input_height,
1572  nvxcu_df_image_e input_format,
1573  uint32_t offset,
1574  uint32_t range,
1575  uint32_t num_bins,
1576  uint32_t window_size,
1577  const struct cudaDeviceProp* prop);
1578 
1600 NVX_C_API nvxcu_error_status_e nvxcuHistogram(const nvxcu_image_t* input,
1601  uint32_t *distribution_dev_ptr,
1602  uint32_t offset,
1603  uint32_t range,
1604  uint32_t num_bins,
1605  uint32_t window_size,
1606  const nvxcu_tmp_buf_t* tmp_buf,
1607  const nvxcu_exec_target_t* exec_target);
1608 
1609 //----------------------------------------------------------------------------
1610 // EqualizeHist
1611 //----------------------------------------------------------------------------
1612 
1626 NVX_C_API nvxcu_tmp_buf_size_t nvxcuEqualizeHist_GetBufSize(uint32_t input_width, uint32_t input_height,
1627  nvxcu_df_image_e input_format,
1628  const struct cudaDeviceProp* prop);
1629 
1650  const nvxcu_image_t* output,
1651  const nvxcu_tmp_buf_t* tmp_buf,
1652  const nvxcu_exec_target_t* exec_target);
1653 
1654 //----------------------------------------------------------------------------
1655 // ScaleImage
1656 //----------------------------------------------------------------------------
1657 
1679  const nvxcu_image_t* dst,
1681  const nvxcu_border_t* border,
1682  const nvxcu_exec_target_t* exec_target);
1683 
1684 //----------------------------------------------------------------------------
1685 // WarpAffine
1686 //----------------------------------------------------------------------------
1687 
1709 NVX_C_API nvxcu_error_status_e nvxcuWarpAffine(const nvxcu_image_t* input,
1710  const float *matrix_dev_ptr,
1712  const nvxcu_image_t* output,
1713  const nvxcu_border_t* border,
1714  const nvxcu_exec_target_t* exec_target);
1715 
1716 //----------------------------------------------------------------------------
1717 // WarpPerspective
1718 //----------------------------------------------------------------------------
1719 
1742  const float *matrix_dev_ptr,
1744  const nvxcu_image_t* output,
1745  const nvxcu_border_t* border,
1746  const nvxcu_exec_target_t* exec_target);
1747 
1748 //----------------------------------------------------------------------------
1749 // Remap
1750 //----------------------------------------------------------------------------
1751 
1774 NVX_C_API nvxcu_error_status_e nvxcuRemap(const nvxcu_image_t* input,
1775  const nvxcu_image_t* table,
1777  const nvxcu_image_t* output,
1778  const nvxcu_border_t* border,
1779  const nvxcu_exec_target_t* exec_target);
1780 
1781 //----------------------------------------------------------------------------
1782 // MeanStdDev
1783 //----------------------------------------------------------------------------
1784 
1798 NVX_C_API nvxcu_tmp_buf_size_t nvxcuMeanStdDev_GetBufSize(uint32_t input_width, uint32_t input_height,
1799  nvxcu_df_image_e input_format,
1800  const struct cudaDeviceProp* prop);
1801 
1820 NVX_C_API nvxcu_error_status_e nvxcuMeanStdDev(const nvxcu_image_t* input,
1821  float *mean_dev_ptr,
1822  float *stddev_dev_ptr,
1823  const nvxcu_tmp_buf_t* tmp_buf,
1824  const nvxcu_exec_target_t* exec_target);
1825 
1826 //----------------------------------------------------------------------------
1827 // MinMaxLoc
1828 //----------------------------------------------------------------------------
1829 
1843 NVX_C_API nvxcu_tmp_buf_size_t nvxcuMinMaxLoc_GetBufSize(uint32_t input_width, uint32_t input_height,
1844  nvxcu_df_image_e input_format,
1845  const struct cudaDeviceProp* prop);
1846 
1876 NVX_C_API nvxcu_error_status_e nvxcuMinMaxLoc(const nvxcu_image_t* input,
1877  void *min_val_dev_ptr,
1878  void *max_val_dev_ptr,
1879  const nvxcu_array_t* min_loc,
1880  const nvxcu_array_t* max_loc,
1881  uint32_t *min_count_dev_ptr,
1882  uint32_t *max_count_dev_ptr,
1883  const nvxcu_tmp_buf_t* tmp_buf,
1884  const nvxcu_exec_target_t* exec_target);
1885 
1886 //----------------------------------------------------------------------------
1887 // Convolve
1888 //----------------------------------------------------------------------------
1889 
1913 NVX_C_API nvxcu_tmp_buf_size_t nvxcuConvolve_GetBufSize(uint32_t width, uint32_t height,
1914  nvxcu_df_image_e input_format,
1915  int32_t kernel_width, int32_t kernel_height,
1916  nvxcu_df_image_e output_format,
1917  const nvxcu_border_t* border,
1918  const struct cudaDeviceProp* prop);
1919 
1952 NVX_C_API nvxcu_error_status_e nvxcuConvolve(const nvxcu_image_t* input,
1953  const int16_t *kernel_dev_ptr,
1954  uint32_t kernel_div,
1955  int32_t kernel_width, int32_t kernel_height,
1956  const nvxcu_image_t* output,
1957  const nvxcu_border_t* border,
1958  const nvxcu_tmp_buf_t* tmp_buf,
1959  const nvxcu_exec_target_t* exec_target);
1960 
1961 //----------------------------------------------------------------------------
1962 // HalfScaleGaussian
1963 //----------------------------------------------------------------------------
1964 
1986  const nvxcu_image_t* output,
1987  int32_t kernel_size,
1988  const nvxcu_border_t* border,
1989  const nvxcu_exec_target_t* exec_target);
1990 
1991 //----------------------------------------------------------------------------
1992 // GaussianPyramid
1993 //----------------------------------------------------------------------------
1994 
2010 NVX_C_API nvxcu_tmp_buf_size_t nvxcuGaussianPyramid_GetBufSize(uint32_t width, uint32_t height,
2011  uint32_t num_levels,
2012  float scale,
2013  const nvxcu_border_t* border,
2014  const struct cudaDeviceProp* prop);
2015 
2037  const nvxcu_tmp_buf_t* tmp_buf,
2038  const nvxcu_border_t* border,
2039  const nvxcu_exec_target_t* exec_target);
2040 
2041 //----------------------------------------------------------------------------
2042 // CannyEdgeDetector
2043 //----------------------------------------------------------------------------
2044 
2059 NVX_C_API nvxcu_tmp_buf_size_t nvxcuCannyEdgeDetector_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format,
2060  int32_t gradient_size,
2061  const struct cudaDeviceProp* prop);
2062 
2088  int32_t lower_thresh, int32_t upper_thresh,
2089  int32_t gradient_size,
2090  nvxcu_norm_type_e norm_type,
2091  const nvxcu_image_t* output,
2092  const nvxcu_tmp_buf_t* tmp_buf,
2093  const nvxcu_exec_target_t* exec_target);
2094 
2095 //----------------------------------------------------------------------------
2096 // HarrisCorners
2097 //----------------------------------------------------------------------------
2098 
2120 NVX_C_API nvxcu_tmp_buf_size_t nvxcuHarrisCorners_GetBufSize(uint32_t width, uint32_t height,
2121  nvxcu_df_image_e format,
2122  float min_distance,
2123  int32_t gradient_size,
2124  int32_t block_size,
2125  nvxcu_array_item_type_e arr_type, uint32_t arr_capacity,
2126  const nvxcu_border_t* border,
2127  const struct cudaDeviceProp* prop);
2128 
2161  float strength_thresh,
2162  float min_distance,
2163  float sensitivity,
2164  int32_t gradient_size,
2165  int32_t block_size,
2166  const nvxcu_array_t* corners,
2167  uint32_t *num_corners_dev_ptr,
2168  const nvxcu_tmp_buf_t* tmp_buf,
2169  const nvxcu_border_t* border,
2170  const nvxcu_exec_target_t* exec_target);
2171 
2172 //----------------------------------------------------------------------------
2173 // FastCorners
2174 //----------------------------------------------------------------------------
2175 
2193 NVX_C_API nvxcu_tmp_buf_size_t nvxcuFastCorners_GetBufSize(uint32_t width, uint32_t height,
2194  nvxcu_df_image_e format,
2195  int32_t nonmax_suppression,
2196  nvxcu_array_item_type_e arr_type, uint32_t arr_capacity,
2197  const nvxcu_border_t* border,
2198  const struct cudaDeviceProp* prop);
2199 
2226 NVX_C_API nvxcu_error_status_e nvxcuFastCorners(const nvxcu_image_t* input,
2227  float strength_thresh,
2228  int32_t nonmax_suppression,
2229  const nvxcu_array_t* corners,
2230  uint32_t *num_corners_dev_ptr,
2231  const nvxcu_tmp_buf_t* tmp_buf,
2232  const nvxcu_border_t* border,
2233  const nvxcu_exec_target_t* exec_target);
2234 
2235 //----------------------------------------------------------------------------
2236 // OpticalFlowPyrLK
2237 //----------------------------------------------------------------------------
2238 
2258 NVX_C_API nvxcu_tmp_buf_size_t nvxcuOpticalFlowPyrLK_GetBufSize(uint32_t width, uint32_t height, uint32_t levels, float scale,
2259  nvxcu_array_item_type_e arr_type, uint32_t capacity,
2260  uint32_t window_dimension,
2261  int32_t calcError,
2262  const nvxcu_border_t* border,
2263  const struct cudaDeviceProp* prop);
2299 NVX_C_API nvxcu_error_status_e nvxcuOpticalFlowPyrLK(const nvxcu_pyramid_t* old_images,
2300  const nvxcu_pyramid_t* new_images,
2301  const nvxcu_array_t* old_points,
2302  const nvxcu_array_t* new_points,
2303  nvxcu_termination_criteria_e termination,
2304  float epsilon,
2305  uint32_t num_iterations,
2306  uint32_t window_dimension,
2307  int32_t calcError,
2308  const nvxcu_tmp_buf_t* tmp_buf,
2309  const nvxcu_border_t* border,
2310  const nvxcu_exec_target_t* exec_target);
2311 
2312 //----------------------------------------------------------------------------
2313 // FlipImage
2314 //----------------------------------------------------------------------------
2315 
2334 NVX_C_API nvxcu_error_status_e nvxcuFlipImage(const nvxcu_image_t* input,
2335  const nvxcu_image_t* output,
2336  nvxcu_flip_mode_e flip_mode,
2337  const nvxcu_exec_target_t* exec_target);
2338 
2339 //----------------------------------------------------------------------------
2340 // HarrisTrack
2341 //----------------------------------------------------------------------------
2342 
2359 NVX_C_API nvxcu_tmp_buf_size_t nvxcuHarrisTrack_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format,
2360  nvxcu_array_item_type_e arr_type, uint32_t arr_capacity,
2361  uint32_t cell_size,
2362  const struct cudaDeviceProp* prop);
2363 
2394 NVX_C_API nvxcu_error_status_e nvxcuHarrisTrack(const nvxcu_image_t* input,
2395  const nvxcu_array_t* output,
2396  const nvxcu_image_t* mask,
2397  const nvxcu_array_t* tracked_points,
2398  float k, float threshold, uint32_t cell_size,
2399  size_t *num_corners_dev_ptr,
2400  const nvxcu_tmp_buf_t* tmp_buf,
2401  const nvxcu_exec_target_t* exec_target);
2402 
2403 //----------------------------------------------------------------------------
2404 // FastTrack
2405 //----------------------------------------------------------------------------
2406 
2423 NVX_C_API nvxcu_tmp_buf_size_t nvxcuFastTrack_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format,
2424  nvxcu_array_item_type_e arr_type, uint32_t arr_capacity,
2425  uint32_t cell_size,
2426  const struct cudaDeviceProp* prop);
2427 
2461 NVX_C_API nvxcu_error_status_e nvxcuFastTrack(const nvxcu_image_t* input,
2462  const nvxcu_array_t* output,
2463  const nvxcu_image_t* mask,
2464  const nvxcu_array_t* tracked_points,
2465  uint32_t type, uint32_t threshold, uint32_t cell_size,
2466  size_t *num_corners_dev_ptr,
2467  const nvxcu_tmp_buf_t* tmp_buf,
2468  const nvxcu_exec_target_t* exec_target);
2469 
2470 //----------------------------------------------------------------------------
2471 // MultiplyByScalar
2472 //----------------------------------------------------------------------------
2473 
2494  const nvxcu_image_t* dst,
2495  float alpha,
2496  const nvxcu_exec_target_t* exec_target);
2497 
2498 //----------------------------------------------------------------------------
2499 // CreateMotionField
2500 //----------------------------------------------------------------------------
2501 
2564 NVX_C_API nvxcu_error_status_e nvxcuCreateMotionField(const nvxcu_image_t* ref_image,
2565  const nvxcu_image_t* cur_image,
2566  const nvxcu_image_t* anchor, // optional
2567  const nvxcu_image_t* bias, // optional
2568  const nvxcu_image_t* best_mv0, // optional
2569  const nvxcu_image_t* best_mv1, // optional
2570  const nvxcu_image_t* sad_table, // optional
2571  int32_t block_size,
2572  int32_t search_window_width, int32_t search_window_height,
2573  float bias_weight,
2574  int32_t mv_div_factor,
2575  const nvxcu_exec_target_t* exec_target);
2576 
2577 //----------------------------------------------------------------------------
2578 // RefineMotionField
2579 //----------------------------------------------------------------------------
2580 
2595 NVX_C_API nvxcu_tmp_buf_size_t nvxcuRefineMotionField_GetBufSize(uint32_t mv_width, uint32_t mv_height,
2596  int32_t search_window_width, int32_t search_window_height,
2597  const struct cudaDeviceProp* prop);
2598 
2636  const nvxcu_image_t* in_mv1,
2637  const nvxcu_image_t* sad_table,
2638  const nvxcu_image_t* out_mv0,
2639  const nvxcu_image_t* out_mv1, // optional
2640  int32_t search_window_width, int32_t search_window_height,
2641  int32_t num_iterations,
2642  float smoothness_factor,
2643  int32_t mv_div_factor,
2644  const nvxcu_tmp_buf_t* tmp_buf,
2645  const nvxcu_exec_target_t* exec_target);
2646 
2647 //----------------------------------------------------------------------------
2648 // PartitionMotionField
2649 //----------------------------------------------------------------------------
2650 
2684  const nvxcu_image_t* cur_image,
2685  const nvxcu_image_t* in_mv_0,
2686  const nvxcu_image_t* in_mv_1,
2687  const nvxcu_image_t* out_mv_0,
2688  const nvxcu_image_t* out_mv_1, // optional
2689  float smoothness_factor,
2690  int32_t mv_div_factor,
2691  const nvxcu_exec_target_t* exec_target);
2692 
2693 //----------------------------------------------------------------------------
2694 // StereoBlockMatching
2695 //----------------------------------------------------------------------------
2696 
2712 NVX_C_API nvxcu_tmp_buf_size_t nvxcuStereoBlockMatching_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format,
2713  uint32_t win_size,
2714  uint32_t max_disparity,
2715  const struct cudaDeviceProp* prop);
2716 
2745  const nvxcu_image_t* right,
2746  const nvxcu_image_t* disp,
2747  uint32_t win_size,
2748  uint32_t max_disparity,
2749  const nvxcu_tmp_buf_t* tmp_buf,
2750  const nvxcu_exec_target_t* exec_target);
2751 
2752 //----------------------------------------------------------------------------
2753 // SemiGlobalMatching
2754 //----------------------------------------------------------------------------
2755 
2774 NVX_C_API nvxcu_tmp_buf_size_t nvxcuSemiGlobalMatching_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format,
2775  int32_t minD, int32_t maxD,
2776  int32_t sad, nvxcu_sgm_flags_e flags,
2777  const struct cudaDeviceProp* prop);
2778 
2816  const nvxcu_image_t* right,
2817  const nvxcu_image_t* disparity,
2818  int32_t minD,
2819  int32_t maxD,
2820  int32_t P1,
2821  int32_t P2,
2822  int32_t sad,
2823  int32_t clip,
2824  int32_t max_diff,
2825  int32_t uniqueness,
2826  nvxcu_scanline_e scanlines_mask,
2827  nvxcu_sgm_flags_e flags,
2828  const nvxcu_tmp_buf_t* tmp_buf,
2829  const nvxcu_exec_target_t* exec_target);
2830 
2831 //----------------------------------------------------------------------------
2832 // HoughLines
2833 //----------------------------------------------------------------------------
2834 
2851 NVX_C_API nvxcu_tmp_buf_size_t nvxcuHoughLines_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format,
2852  uint32_t arr_capacity,
2853  float rho, float theta,
2854  const struct cudaDeviceProp* prop);
2855 
2883 NVX_C_API nvxcu_error_status_e nvxcuHoughLines(const nvxcu_image_t* input,
2884  const nvxcu_array_t* output,
2885  float rho, float theta, uint32_t threshold,
2886  uint32_t *num_lines_dev_ptr,
2887  const nvxcu_tmp_buf_t* tmp_buf,
2888  const nvxcu_exec_target_t* exec_target);
2889 
2890 //----------------------------------------------------------------------------
2891 // HoughSegments
2892 //----------------------------------------------------------------------------
2893 
2912 NVX_C_API nvxcu_tmp_buf_size_t nvxcuHoughSegments_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format,
2913  uint32_t arr_capacity,
2914  float rho, float theta,
2915  uint32_t min_line_length, uint32_t max_line_gap,
2916  const struct cudaDeviceProp* prop);
2917 
2948  const nvxcu_array_t* output,
2949  float rho, float theta, uint32_t threshold,
2950  uint32_t min_line_length, uint32_t max_line_gap,
2951  uint32_t *num_segments_dev_ptr,
2952  const nvxcu_tmp_buf_t* tmp_buf,
2953  const nvxcu_exec_target_t* exec_target);
2954 
2955 //----------------------------------------------------------------------------
2956 // HoughCircles
2957 //----------------------------------------------------------------------------
2958 
2977 NVX_C_API nvxcu_tmp_buf_size_t nvxcuHoughCircles_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format,
2978  uint32_t arr_capacity,
2979  float dp, float min_dist,
2980  uint32_t min_radius, uint32_t max_radius,
2981  const struct cudaDeviceProp* prop);
2982 
3030  const nvxcu_image_t* dx,
3031  const nvxcu_image_t* dy,
3032  const nvxcu_array_t* circles,
3033  uint32_t *num_detections_dev_ptr,
3034  float dp,
3035  float min_dist,
3036  uint32_t min_radius, uint32_t max_radius,
3037  uint32_t acc_threshold,
3038  const nvxcu_tmp_buf_t* tmp_buf,
3039  const nvxcu_exec_target_t* exec_target);
3040 
3041 #endif
Area interpolation.
Definition: nvxcu.h:245
A uint8_t.
Definition: nvxcu.h:47
nvxcu_error_status_e nvxcuAdd(const nvxcu_image_t *in1, const nvxcu_image_t *in2, nvxcu_convert_policy_e policy, const nvxcu_image_t *out, const nvxcu_exec_target_t *exec_target)
Performs addition between two images.
A single 32-bit pixel plane of 4 interleaved 8-bit RGBX units.
Definition: nvxcu.h:125
A nvxcu_coordinates2d_t.
Definition: nvxcu.h:59
A single plane of 32-bit unsigned integer data.
Definition: nvxcu.h:175
Used to extract the Cr/V/Value channel.
Definition: nvxcu.h:231
Defines a pointers to temporary buffers.
Definition: nvxcu.h:537
nvxcu_pyramid_type_e
Defines the pyramid object type ID.
Definition: nvxcu.h:640
nvxcu_tmp_buf_size_t nvxcuRefineMotionField_GetBufSize(uint32_t mv_width, uint32_t mv_height, int32_t search_window_width, int32_t search_window_height, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuRefineMotionField p...
size_t host_buf_size
The size of HOST temporary buffer.
Definition: nvxcu.h:524
nvxcu_error_status_e nvxcuChannelExtract(const nvxcu_image_t *input, nvxcu_channel_e channel, const nvxcu_image_t *output, const nvxcu_exec_target_t *exec_target)
Extracts single channel from multi-channel image.
A nvxcu_keypointf_t.
Definition: nvxcu.h:65
nvxcu_error_status_e nvxcuFastTrack(const nvxcu_image_t *input, const nvxcu_array_t *output, const nvxcu_image_t *mask, const nvxcu_array_t *tracked_points, uint32_t type, uint32_t threshold, uint32_t cell_size, size_t *num_corners_dev_ptr, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Detects and tracks corners using the FAST algorithm.
Array object represented as plain CUDA device memory.
Definition: nvxcu.h:626
nvxcu_tmp_buf_size_t nvxcuHoughCircles_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format, uint32_t arr_capacity, float dp, float min_dist, uint32_t min_radius, uint32_t max_radius, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuHoughCircles primit...
nvxcu_error_status_e nvxcuDilate3x3(const nvxcu_image_t *input, const nvxcu_image_t *output, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Performs dilation operation on an input image.
nvxcu_tmp_buf_size_t nvxcuOpticalFlowPyrLK_GetBufSize(uint32_t width, uint32_t height, uint32_t levels, float scale, nvxcu_array_item_type_e arr_type, uint32_t capacity, uint32_t window_dimension, int32_t calcError, const nvxcu_border_t *border, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuOpticalFlowPyrLK pr...
A nvxcu_border_mode_e.
Definition: nvxcu.h:93
nvxcu_tmp_buf_size_t nvxcuMinMaxLoc_GetBufSize(uint32_t input_width, uint32_t input_height, nvxcu_df_image_e input_format, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuMinMaxLoc primitive...
nvxcu_tmp_buf_size_t nvxcuHarrisTrack_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format, nvxcu_array_item_type_e arr_type, uint32_t arr_capacity, uint32_t cell_size, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuHarrisTrack primiti...
nvxcu_error_status_e nvxcuPhase(const nvxcu_image_t *grad_x, const nvxcu_image_t *grad_y, const nvxcu_image_t *orientation, const nvxcu_exec_target_t *exec_target)
Computes the gradient phase.
nvxcu_tmp_buf_size_t nvxcuCannyEdgeDetector_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format, int32_t gradient_size, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuCannyEdgeDetector p...
uint32_t z
The Z coordinate.
Definition: nvxcu.h:473
Base structure for pyramid object.
Definition: nvxcu.h:649
Aggregate cost from four directions forming a cross.
Definition: nvxcu.h:358
nvxcu_error_status_e nvxcuHalfScaleGaussian(const nvxcu_image_t *input, const nvxcu_image_t *output, int32_t kernel_size, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Performs a Gaussian Blur on an image then half-scales it.
A single 48-bit pixel plane of 3 interleaved 16-bit RGB units.
Definition: nvxcu.h:200
Defines a 2D coordinates data structure.
Definition: nvxcu.h:461
nvxcu_error_status_e nvxcuHoughCircles(const nvxcu_image_t *edges, const nvxcu_image_t *dx, const nvxcu_image_t *dy, const nvxcu_array_t *circles, uint32_t *num_detections_dev_ptr, float dp, float min_dist, uint32_t min_radius, uint32_t max_radius, uint32_t acc_threshold, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Detects circles in a binary image.
A single plane of float32_t[2] data (for example, motion fields).
Definition: nvxcu.h:190
nvxcu_error_status_e
Defines an error status code.
Definition: nvxcu.h:31
nvxcu_error_status_e nvxcuFastCorners(const nvxcu_image_t *input, float strength_thresh, int32_t nonmax_suppression, const nvxcu_array_t *corners, uint32_t *num_corners_dev_ptr, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Computes the corners in an image using a method based upon FAST9 algorithm.
nvxcu_df_image_e
Defines an image format enumeration.
Definition: nvxcu.h:116
Used to extract the GREEN channel.
Definition: nvxcu.h:221
nvxcu_pitch_linear_image_t * levels
The pyramid levels.
Definition: nvxcu.h:662
A nvxcu_point4f_t.
Definition: nvxcu.h:64
nvxcu_plain_array_t object.
Definition: nvxcu.h:607
Base structure for image object.
Definition: nvxcu.h:567
float z
The Z coordinate.
Definition: nvxcu.h:502
The BT.601 coefficients and SMPTE C primaries.
Definition: nvxcu.h:257
float x
The X coordinate.
Definition: nvxcu.h:490
nvxcu_pixel_value_t uniform_value
Uniform value.
Definition: nvxcu.h:595
Truncates the least significant values.
Definition: nvxcu.h:325
nvxcu_error_status_e nvxcuOpticalFlowPyrLK(const nvxcu_pyramid_t *old_images, const nvxcu_pyramid_t *new_images, const nvxcu_array_t *old_points, const nvxcu_array_t *new_points, nvxcu_termination_criteria_e termination, float epsilon, uint32_t num_iterations, uint32_t window_dimension, int32_t calcError, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Computes the optical flow between two pyramid images using the Lucas-Kanade method.
void * dev_ptr
CUDA device pointer to the items.
Definition: nvxcu.h:628
nvxcu_image_t base
Base image structure.
Definition: nvxcu.h:581
nvxcu_norm_type_e
Defines a normalization type enumeration.
Definition: nvxcu.h:311
nvxcu_tmp_buf_size_t nvxcuStereoBlockMatching_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format, uint32_t win_size, uint32_t max_disparity, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuStereoBlockMatching...
A single plane of 8-bit unsigned integer data.
Definition: nvxcu.h:160
A single plane of 32-bit signed integer data.
Definition: nvxcu.h:180
nvxcu_error_status_e nvxcuGaussianPyramid(const nvxcu_pyramid_t *pyr, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Computes a Gaussian image pyramid from its first level.
A nvxcu_channel_range_e.
Definition: nvxcu.h:90
Aggregate cost from left to right horizontally.
Definition: nvxcu.h:347
Defines a 4D point data structure (float coordinates).
Definition: nvxcu.h:499
Defines the value of a pixel for any image format.
Definition: nvxcu.h:392
Termination by matching the value against epsilon.
Definition: nvxcu.h:301
nvxcu_array_item_type_e item_type
Array items type.
Definition: nvxcu.h:617
A uint64_t.
Definition: nvxcu.h:53
nvxcu_error_status_e nvxcuAccumulateSquare(const nvxcu_image_t *input, uint32_t shift, const nvxcu_image_t *accum, const nvxcu_exec_target_t *exec_target)
Accumulates a squared value from an input image to an output image.
The BT.601 coefficients and BTU primaries.
Definition: nvxcu.h:259
Used to extract the RED channel.
Definition: nvxcu.h:219
nvxcu_error_status_e nvxcuConvolve(const nvxcu_image_t *input, const int16_t *kernel_dev_ptr, uint32_t kernel_div, int32_t kernel_width, int32_t kernel_height, const nvxcu_image_t *output, const nvxcu_border_t *border, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Convolves the input with the client supplied convolution matrix.
A nvxcu_point3f_t.
Definition: nvxcu.h:63
float orientation
The orientation of the keypoint.
Definition: nvxcu.h:427
nvxcu_channel_e
Defines a channel enumeration for channel extract operation.
Definition: nvxcu.h:208
Defines a keypoint data structure with float coordinates.
Definition: nvxcu.h:436
Aggregate cost from right to left diagonally starting from the bottom.
Definition: nvxcu.h:353
uint32_t U32
NVXCU_DF_IMAGE_U32.
Definition: nvxcu.h:401
nvxcu_pitch_linear_image_t object.
Definition: nvxcu.h:557
Defines a rectangle data structure.
Definition: nvxcu.h:450
Image object filled with uniform value.
Definition: nvxcu.h:593
A nvxcu_rectangle_t.
Definition: nvxcu.h:57
cudaStream_t stream
CUDA stream to launch primitive in.
Definition: nvxcu.h:693
nvxcu_error_status_e nvxcuAccumulateWeighted(const nvxcu_image_t *input, float alpha, const nvxcu_image_t *accum, const nvxcu_exec_target_t *exec_target)
Accumulates a weighted value from an input image to an output image.
float y
The Y coordinate.
Definition: nvxcu.h:482
uint32_t end_y
The End Y coordinate.
Definition: nvxcu.h:454
nvxcu_error_status_e nvxcuSobel3x3(const nvxcu_image_t *input, const nvxcu_image_t *output_x, const nvxcu_image_t *output_y, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Calculates derivatives from an input image using 3x3 Sobel operator.
nvxcu_error_status_e nvxcuHarrisTrack(const nvxcu_image_t *input, const nvxcu_array_t *output, const nvxcu_image_t *mask, const nvxcu_array_t *tracked_points, float k, float threshold, uint32_t cell_size, size_t *num_corners_dev_ptr, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Detects and tracks Harris corners for the input image.
Defines a 2D point data structure (float coordinates).
Definition: nvxcu.h:480
L1 normalization.
Definition: nvxcu.h:313
Defines a border extrapolation behavior.
Definition: nvxcu.h:413
nvxcu_pyramid_t base
Base pyramid structure.
Definition: nvxcu.h:661
nvxcu_error_status_e nvxcuBitwiseAnd(const nvxcu_image_t *in1, const nvxcu_image_t *in2, const nvxcu_image_t *out, const nvxcu_exec_target_t *exec_target)
Performs a bitwise AND operation between two images.
nvxcu_df_image_e format
Image format.
Definition: nvxcu.h:569
int32_t tracking_status
The tracking status of the keypoint.
Definition: nvxcu.h:442
Used to extract the BLUE channel.
Definition: nvxcu.h:223
Default color space (BT.709).
Definition: nvxcu.h:263
nvxcu_error_status_e nvxcuMagnitude(const nvxcu_image_t *grad_x, const nvxcu_image_t *grad_y, const nvxcu_image_t *mag, const nvxcu_exec_target_t *exec_target)
Computes the gradient magnitude.
nvxcu_error_status_e nvxcuThresholdRange(const nvxcu_image_t *input, nvxcu_pixel_value_t thresh_lower_value, nvxcu_pixel_value_t thresh_upper_value, nvxcu_pixel_value_t true_value, nvxcu_pixel_value_t false_value, const nvxcu_image_t *output, const nvxcu_exec_target_t *exec_target)
Thresholds an input image and produces a boolean output image.
nvxcu_pixel_value_t constant_value
Border constant value for NVXCU_BORDER_MODE_CONSTANT mode.
Definition: nvxcu.h:415
Nearest neighbor interpolation.
Definition: nvxcu.h:241
void * dev_ptr
CUDA Device memory buffer.
Definition: nvxcu.h:538
float strength
The strength of the keypoint.
Definition: nvxcu.h:425
Used to extract the channel #2.
Definition: nvxcu.h:214
nvxcu_tmp_buf_size_t nvxcuGaussianPyramid_GetBufSize(uint32_t width, uint32_t height, uint32_t num_levels, float scale, const nvxcu_border_t *border, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuGaussianPyramid pri...
float x
The x coordinate.
Definition: nvxcu.h:437
uint32_t * num_items_dev_ptr
CUDA device pointer to the number of items.
Definition: nvxcu.h:629
Used to extract the ALPHA channel.
Definition: nvxcu.h:225
Horizontal flipping of the image.
Definition: nvxcu.h:336
nvxcu_enum_e
Defines an enumeration type code.
Definition: nvxcu.h:87
nvxcu_tmp_buf_size_t nvxcuHoughSegments_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format, uint32_t arr_capacity, float rho, float theta, uint32_t min_line_length, uint32_t max_line_gap, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuHoughSegments primi...
nvxcu_tmp_buf_size_t nvxcuSemiGlobalMatching_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format, int32_t minD, int32_t maxD, int32_t sad, nvxcu_sgm_flags_e flags, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuSemiGlobalMatching ...
nvxcu_pitch_linear_pyramid_t object.
Definition: nvxcu.h:641
nvxcu_image_type_e image_type
Object type ID.
Definition: nvxcu.h:568
nvxcu_image_t base
Base image structure.
Definition: nvxcu.h:594
nvxcu_stream_exec_target_t object.
Definition: nvxcu.h:674
uint32_t start_x
The Start X coordinate.
Definition: nvxcu.h:451
nvxcu_tmp_buf_size_t nvxcuHoughLines_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format, uint32_t arr_capacity, float rho, float theta, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuHoughLines primitiv...
float x
The X coordinate.
Definition: nvxcu.h:500
int32_t S32
NVXCU_DF_IMAGE_S32.
Definition: nvxcu.h:402
nvxcu_error_status_e nvxcuScaleImage(const nvxcu_image_t *src, const nvxcu_image_t *dst, nvxcu_interpolation_type_e type, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Resizes an input image from source to the destination dimensions.
nvxcu_error_status_e nvxcuHarrisCorners(const nvxcu_image_t *input, float strength_thresh, float min_distance, float sensitivity, int32_t gradient_size, int32_t block_size, const nvxcu_array_t *corners, uint32_t *num_corners_dev_ptr, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Computes the Harris Corners of an image.
float scale
The scale of the keypoint.
Definition: nvxcu.h:440
nvxcu_error_status_e nvxcuCannyEdgeDetector(const nvxcu_image_t *input, int32_t lower_thresh, int32_t upper_thresh, int32_t gradient_size, nvxcu_norm_type_e norm_type, const nvxcu_image_t *output, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Applies Canny edge detector algorithm to the input image.
nvxcu_error_status_e nvxcuWarpPerspective(const nvxcu_image_t *input, const float *matrix_dev_ptr, nvxcu_interpolation_type_e type, const nvxcu_image_t *output, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Performs an perspective transform on an image.
nvxcu_error_status_e nvxcuConvertDepth(const nvxcu_image_t *input, const nvxcu_image_t *output, nvxcu_convert_policy_e policy, int32_t shift, const nvxcu_exec_target_t *exec_target)
Converts image bit depth.
A uint16_t.
Definition: nvxcu.h:49
uint8_t U8
NVXCU_DF_IMAGE_U8.
Definition: nvxcu.h:397
nvxcu_exec_target_type_e exec_target_type
Object type ID.
Definition: nvxcu.h:683
nvxcu_convert_policy_e
Defines a convertion policy enumeration.
Definition: nvxcu.h:104
void * host_ptr
HOST memory buffer.
Definition: nvxcu.h:539
Wrap convertion policy.
Definition: nvxcu.h:106
A char.
Definition: nvxcu.h:45
uint32_t width
Image width.
Definition: nvxcu.h:570
nvxcu_error_status_e nvxcuHoughSegments(const nvxcu_image_t *input, const nvxcu_array_t *output, float rho, float theta, uint32_t threshold, uint32_t min_line_length, uint32_t max_line_gap, uint32_t *num_segments_dev_ptr, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Finds line segments in a binary image using the probabilistic Hough transform.
nvxcu_error_status_e nvxcuScharr3x3(const nvxcu_image_t *input, const nvxcu_image_t *output_x, const nvxcu_image_t *output_y, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Calculates derivatives from an input image using 3x3 Scharr operator.
nvxcu_border_mode_e
Defines a border mode enumeration.
Definition: nvxcu.h:283
A int8_t.
Definition: nvxcu.h:46
nvxcu_array_type_e
Defines the array object type ID.
Definition: nvxcu.h:606
Indicates a generic error code.
Definition: nvxcu.h:36
A nvxcu_keypoint_t.
Definition: nvxcu.h:58
uint32_t x
The X coordinate.
Definition: nvxcu.h:462
nvxcu_error_status_e nvxcuCreateMotionField(const nvxcu_image_t *ref_image, const nvxcu_image_t *cur_image, const nvxcu_image_t *anchor, const nvxcu_image_t *bias, const nvxcu_image_t *best_mv0, const nvxcu_image_t *best_mv1, const nvxcu_image_t *sad_table, int32_t block_size, int32_t search_window_width, int32_t search_window_height, float bias_weight, int32_t mv_div_factor, const nvxcu_exec_target_t *exec_target)
Creates initial motion field from a current image into reference image.
nvxcu_image_type_e
Defines the image object type ID.
Definition: nvxcu.h:556
nvxcu_error_status_e nvxcuAbsDiff(const nvxcu_image_t *in1, const nvxcu_image_t *in2, const nvxcu_image_t *out, const nvxcu_exec_target_t *exec_target)
Computes the absolute difference between two images.
nvxcu_exec_target_type_e
Defines the execution target object type ID.
Definition: nvxcu.h:673
Used to extract the channel #0.
Definition: nvxcu.h:210
float strength
The strength of the keypoint.
Definition: nvxcu.h:439
Base structure for array object.
Definition: nvxcu.h:615
A 2-lane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling.
Definition: nvxcu.h:135
Termination by the number of iterations.
Definition: nvxcu.h:299
Pitch linear pyramid object.
Definition: nvxcu.h:660
A int32_t.
Definition: nvxcu.h:50
A nvxcu_termination_criteria_e.
Definition: nvxcu.h:94
Image object represented as pitch linear CUDA buffer.
Definition: nvxcu.h:580
nvxcu_sgm_flags_e
Defines extra flags for SGM algorithm.
Definition: nvxcu.h:371
nvxcu_error_status_e nvxcuMeanStdDev(const nvxcu_image_t *input, float *mean_dev_ptr, float *stddev_dev_ptr, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Computes the mean pixel value and the standard deviation of the pixels in the input image...
Restricted range of the unit of the channel based on the space given.
Definition: nvxcu.h:275
#define NVXCU_ENUM_BASE(v, id)
Calculates the base value for a specific enumeration type.
Definition: nvxcu.h:80
Indicates internal CUDA failure.
Definition: nvxcu.h:32
nvxcu_error_status_e nvxcuThresholdBinary(const nvxcu_image_t *input, nvxcu_pixel_value_t thresh_value, nvxcu_pixel_value_t true_value, nvxcu_pixel_value_t false_value, const nvxcu_image_t *output, const nvxcu_exec_target_t *exec_target)
Thresholds an input image and produces a boolean output image.
filter cost at top image area with low gradients.
Definition: nvxcu.h:372
Defines a 3D coordinates data structure.
Definition: nvxcu.h:470
nvxcu_error_status_e nvxcuLaplacian3x3(const nvxcu_image_t *input, const nvxcu_image_t *output, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Applies a 3x3 Laplacian operator to the input image.
Rounds to nearest even output value.
Definition: nvxcu.h:327
nvxcu_error_status_e nvxcuIntegralImage(const nvxcu_image_t *input, const nvxcu_image_t *output, const nvxcu_exec_target_t *exec_target)
Computes the integral image of the input.
nvxcu_termination_criteria_e
Defines a termination criteria enumeration.
Definition: nvxcu.h:297
size_t dev_buf_size
The size of DEVICE temporary buffer.
Definition: nvxcu.h:523
nvxcu_tmp_buf_size_t nvxcuHarrisCorners_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format, float min_distance, int32_t gradient_size, int32_t block_size, nvxcu_array_item_type_e arr_type, uint32_t arr_capacity, const nvxcu_border_t *border, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuHarrisCorners primi...
No error.
Definition: nvxcu.h:37
A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes.
Definition: nvxcu.h:145
Aggregate cost from left to right diagonally starting from the top.
Definition: nvxcu.h:348
nvxcu_error_status_e nvxcuMultiply(const nvxcu_image_t *in1, const nvxcu_image_t *in2, float scale, nvxcu_convert_policy_e overflow_policy, nvxcu_round_policy_e rounding_policy, const nvxcu_image_t *out, const nvxcu_exec_target_t *exec_target)
Performs element-wise multiplication between two images and a scalar value.
uint32_t end_x
The End X coordinate.
Definition: nvxcu.h:453
A nvxcu_round_policy_e.
Definition: nvxcu.h:96
A combination of iterations and epsilon.
Definition: nvxcu.h:303
nvxcu_array_item_type_e
Defines an array item type enumeration.
Definition: nvxcu.h:44
float y
The Y coordinate.
Definition: nvxcu.h:491
#define NVXCU_NB_MAX_PLANES
Defines the maximum number of planes in an image object.
Definition: nvxcu.h:550
A nvxcu_channel_e.
Definition: nvxcu.h:91
nvxcu_error_status_e nvxcuHoughLines(const nvxcu_image_t *input, const nvxcu_array_t *output, float rho, float theta, uint32_t threshold, uint32_t *num_lines_dev_ptr, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Finds lines on image using standard Hough transform.
A nvxcu_coordinates3d_t.
Definition: nvxcu.h:60
float error
The tracking method specific error.
Definition: nvxcu.h:443
nvxcu_pyramid_type_e pyramid_type
Object type ID.
Definition: nvxcu.h:650
CUDA stream execution target.
Definition: nvxcu.h:691
float error
The tracking method specific error.
Definition: nvxcu.h:429
nvxcu_error_status_e nvxcuPartitionMotionField(const nvxcu_image_t *ref_image, const nvxcu_image_t *cur_image, const nvxcu_image_t *in_mv_0, const nvxcu_image_t *in_mv_1, const nvxcu_image_t *out_mv_0, const nvxcu_image_t *out_mv_1, float smoothness_factor, int32_t mv_div_factor, const nvxcu_exec_target_t *exec_target)
Partitions motion vector field for blocks onto motion vector field into quarter sized blocks (half si...
The BT.709 coefficients.
Definition: nvxcu.h:261
A nvxcu_color_space_e.
Definition: nvxcu.h:89
int32_t x
The x coordinate.
Definition: nvxcu.h:423
Aggregate cost from top to bottom vertically.
Definition: nvxcu.h:349
float y
The Y coordinate.
Definition: nvxcu.h:501
nvxcu_interpolation_type_e
Defines an interpolation type enumeration.
Definition: nvxcu.h:239
nvxcu_error_status_e nvxcuErode3x3(const nvxcu_image_t *input, const nvxcu_image_t *output, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Performs erosion operation on an input image.
nvxcu_error_status_e nvxcuGaussian3x3(const nvxcu_image_t *input, const nvxcu_image_t *output, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Computes a Gaussian filter over a 3x3 window of the input image.
A single plane of 16-bit signed integer data.
Definition: nvxcu.h:170
nvxcu_channel_range_e
Defines an image channel range enumeration.
Definition: nvxcu.h:271
nvxcu_error_status_e nvxcuAccumulateImage(const nvxcu_image_t *input, const nvxcu_image_t *accum, const nvxcu_exec_target_t *exec_target)
Accumulates an input image into output image.
Saturate conversion policy.
Definition: nvxcu.h:108
Indicates that current set of parameters is not supported.
Definition: nvxcu.h:34
uint32_t y
The Y coordinate.
Definition: nvxcu.h:463
Vertical flipping of the image.
Definition: nvxcu.h:337
Used to extract the LUMA channel.
Definition: nvxcu.h:227
nvxcu_uniform_image_t object.
Definition: nvxcu.h:558
nvxcu_tmp_buf_size_t nvxcuEqualizeHist_GetBufSize(uint32_t input_width, uint32_t input_height, nvxcu_df_image_e input_format, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuEqualizeHist primit...
A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes.
Definition: nvxcu.h:150
A single 24-bit pixel plane of 3 interleaved 8-bit RGB units.
Definition: nvxcu.h:120
nvxcu_error_status_e nvxcuMultiplyByScalar(const nvxcu_image_t *src, const nvxcu_image_t *dst, float alpha, const nvxcu_exec_target_t *exec_target)
Multiplies an input image by scalar and optionally converts it to another data type.
uint32_t x
The X coordinate.
Definition: nvxcu.h:471
uint32_t capacity
Capacity of the array buffer (in elements).
Definition: nvxcu.h:618
L2 normalization.
Definition: nvxcu.h:315
Aggregate cost from right to left diagonally starting from the top.
Definition: nvxcu.h:350
nvxcu_error_status_e nvxcuMedian3x3(const nvxcu_image_t *input, const nvxcu_image_t *output, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Computes a median pixel value over a 3x3 window of the input image.
Aggregate cost from left to right diagonally starting from the bottom.
Definition: nvxcu.h:355
nvxcu_error_status_e nvxcuMinMaxLoc(const nvxcu_image_t *input, void *min_val_dev_ptr, void *max_val_dev_ptr, const nvxcu_array_t *min_loc, const nvxcu_array_t *max_loc, uint32_t *min_count_dev_ptr, uint32_t *max_count_dev_ptr, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Finds the minimum and maximum values in an image and a location for each.
A int64_t.
Definition: nvxcu.h:52
nvxcu_tmp_buf_size_t nvxcuFastTrack_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format, nvxcu_array_item_type_e arr_type, uint32_t arr_capacity, uint32_t cell_size, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuFastTrack primitive...
int32_t y
The y coordinate.
Definition: nvxcu.h:424
nvxcu_error_status_e nvxcuBitwiseOr(const nvxcu_image_t *in1, const nvxcu_image_t *in2, const nvxcu_image_t *out, const nvxcu_exec_target_t *exec_target)
Performs a bitwise OR operation between two images.
float F32
NVXCU_DF_IMAGE_F32.
Definition: nvxcu.h:403
nvxcu_error_status_e nvxcuFlipImage(const nvxcu_image_t *input, const nvxcu_image_t *output, nvxcu_flip_mode_e flip_mode, const nvxcu_exec_target_t *exec_target)
Flips the input image in horizontal, vertical or in both directions.
Used to extract the channel #1.
Definition: nvxcu.h:212
nvxcu_error_status_e nvxcuChannelCombine(const nvxcu_image_t *plane0, const nvxcu_image_t *plane1, const nvxcu_image_t *plane2, const nvxcu_image_t *plane3, const nvxcu_image_t *output, const nvxcu_exec_target_t *exec_target)
Combines multiple planes into single multi-channel image.
uint32_t y
The Y coordinate.
Definition: nvxcu.h:472
Defines a 3D point data structure (float coordinates).
Definition: nvxcu.h:489
nvxcu_tmp_buf_size_t nvxcuHistogram_GetBufSize(uint32_t input_width, uint32_t input_height, nvxcu_df_image_e input_format, uint32_t offset, uint32_t range, uint32_t num_bins, uint32_t window_size, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuHistogram primitive...
float w
The W coordinate.
Definition: nvxcu.h:503
nvxcu_error_status_e nvxcuColorConvert(const nvxcu_image_t *input, const nvxcu_image_t *output, nvxcu_color_space_e color_space, nvxcu_channel_range_e channel_range, const nvxcu_exec_target_t *exec_target)
Converts from one color format to an other.
No defined border mode behavior.
Definition: nvxcu.h:285
nvxcu_error_status_e nvxcuSemiGlobalMatching(const nvxcu_image_t *left, const nvxcu_image_t *right, const nvxcu_image_t *disparity, int32_t minD, int32_t maxD, int32_t P1, int32_t P2, int32_t sad, int32_t clip, int32_t max_diff, int32_t uniqueness, nvxcu_scanline_e scanlines_mask, nvxcu_sgm_flags_e flags, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Evaluates disparity given 2 stereo images using the SGM algorithm.
A single plane of int16_t[2] data (for example, motion fields).
Definition: nvxcu.h:195
float y
The y coordinate.
Definition: nvxcu.h:438
Defines a keypoint data structure with integer coordinates.
Definition: nvxcu.h:422
nvxcu_error_status_e nvxcuRemap(const nvxcu_image_t *input, const nvxcu_image_t *table, nvxcu_interpolation_type_e policy, const nvxcu_image_t *output, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Maps output pixels in an image from input pixels in an image.
uint32_t start_y
The Start Y coordinate.
Definition: nvxcu.h:452
uint32_t height
Image height.
Definition: nvxcu.h:571
Out-of-bound pixels are replicated from the nearest edge pixels.
Definition: nvxcu.h:289
nvxcu_error_status_e nvxcuRefineMotionField(const nvxcu_image_t *in_mv0, const nvxcu_image_t *in_mv1, const nvxcu_image_t *sad_table, const nvxcu_image_t *out_mv0, const nvxcu_image_t *out_mv1, int32_t search_window_width, int32_t search_window_height, int32_t num_iterations, float smoothness_factor, int32_t mv_div_factor, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Iteratively refines motion field by applying the motion vectors to a center block in a 3x3 block neig...
A float.
Definition: nvxcu.h:54
nvxcu_error_status_e nvxcuHistogram(const nvxcu_image_t *input, uint32_t *distribution_dev_ptr, uint32_t offset, uint32_t range, uint32_t num_bins, uint32_t window_size, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Generates a distribution from an image.
float orientation
The orientation of the keypoint.
Definition: nvxcu.h:441
Simultaneous horizontal and vertical flipping of the image.
Definition: nvxcu.h:338
nvxcu_scanline_e
Defines scan line's directions used during cost aggregation step.
Definition: nvxcu.h:346
A nvxcu_norm_type_e.
Definition: nvxcu.h:95
Bilinear interpolation.
Definition: nvxcu.h:243
Full range of the unit of the channel.
Definition: nvxcu.h:273
nvxcu_error_status_e nvxcuStereoBlockMatching(const nvxcu_image_t *left, const nvxcu_image_t *right, const nvxcu_image_t *disp, uint32_t win_size, uint32_t max_disparity, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Computes a dense disparity map for a given stereo pair.
nvxcu_round_policy_e
Defines a round policy enumeration.
Definition: nvxcu.h:323
float x
The X coordinate.
Definition: nvxcu.h:481
Out-of-bound pixels are filled with constant value.
Definition: nvxcu.h:287
Aggregate cost from right to left horizontally.
Definition: nvxcu.h:352
nvxcu_error_status_e nvxcuEqualizeHist(const nvxcu_image_t *input, const nvxcu_image_t *output, const nvxcu_tmp_buf_t *tmp_buf, const nvxcu_exec_target_t *exec_target)
Equalizes the histogram of a grayscale image.
nvxcu_error_status_e nvxcuBox3x3(const nvxcu_image_t *input, const nvxcu_image_t *output, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Computes a Box filter over a 3x3 window of the input image.
nvxcu_tmp_buf_size_t nvxcuConvolve_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e input_format, int32_t kernel_width, int32_t kernel_height, nvxcu_df_image_e output_format, const nvxcu_border_t *border, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuConvolve primitive...
nvxcu_array_type_e array_type
Object type ID.
Definition: nvxcu.h:616
nvxcu_error_status_e nvxcuTableLookup(const nvxcu_image_t *input, const uint8_t *lut_dev_ptr, uint32_t lut_count, const nvxcu_image_t *output, const nvxcu_exec_target_t *exec_target)
Performs table lookup operation on an input image.
uint16_t U16
NVXCU_DF_IMAGE_U16.
Definition: nvxcu.h:398
A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 bytes.
Definition: nvxcu.h:140
nvxcu_error_status_e nvxcuWarpAffine(const nvxcu_image_t *input, const float *matrix_dev_ptr, nvxcu_interpolation_type_e type, const nvxcu_image_t *output, const nvxcu_border_t *border, const nvxcu_exec_target_t *exec_target)
Performs an affine transform on an image.
nvxcu_error_status_e nvxcuBitwiseXor(const nvxcu_image_t *in1, const nvxcu_image_t *in2, const nvxcu_image_t *out, const nvxcu_exec_target_t *exec_target)
Performs a bitwise XOR operation between two images.
Used to extract the channel #3.
Definition: nvxcu.h:216
nvxcu_tmp_buf_size_t nvxcuMeanStdDev_GetBufSize(uint32_t input_width, uint32_t input_height, nvxcu_df_image_e input_format, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuMeanStdDev primitiv...
float scale
The scale of the keypoint.
Definition: nvxcu.h:426
nvxcu_error_status_e nvxcuBitwiseNot(const nvxcu_image_t *input, const nvxcu_image_t *output, const nvxcu_exec_target_t *exec_target)
Performs a bitwise NOT operation on an input image.
Base structure for execution target.
Definition: nvxcu.h:682
nvxcu_color_space_e
Defines an image color space enumeration.
Definition: nvxcu.h:253
A nvxcu_point2f_t.
Definition: nvxcu.h:62
Aggregate cost over all scan lines.
Definition: nvxcu.h:363
A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes.
Definition: nvxcu.h:155
int32_t tracking_status
The tracking status of the keypoint.
Definition: nvxcu.h:428
A double.
Definition: nvxcu.h:55
nvxcu_exec_target_t base
Base execution target structure.
Definition: nvxcu.h:692
A int16_t.
Definition: nvxcu.h:48
float scale
The pyramid scale factor.
Definition: nvxcu.h:652
A single plane of 16-bit unsigned integer data.
Definition: nvxcu.h:165
int16_t S16
NVXCU_DF_IMAGE_S16.
Definition: nvxcu.h:399
Defines the size of temporary buffers.
Definition: nvxcu.h:522
nvxcu_flip_mode_e
Defines modes for flip image operation.
Definition: nvxcu.h:335
A nvxcu_interpolation_type_e.
Definition: nvxcu.h:88
Aggregate cost from bottom to top vertically.
Definition: nvxcu.h:354
#define NVXCU_DF_IMAGE(a, b, c, d)
Converts a set of four chars into a single uint32_t value.
Definition: nvxcu.h:73
No color space is used.
Definition: nvxcu.h:255
A uint32_t.
Definition: nvxcu.h:51
A single plane of 32-bit float data.
Definition: nvxcu.h:185
nvxcu_tmp_buf_size_t nvxcuFastCorners_GetBufSize(uint32_t width, uint32_t height, nvxcu_df_image_e format, int32_t nonmax_suppression, nvxcu_array_item_type_e arr_type, uint32_t arr_capacity, const nvxcu_border_t *border, const struct cudaDeviceProp *prop)
Determine the size of CUDA Device and HOST memory that must be passed to the nvxcuFastCorners primiti...
A 2-plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling.
Definition: nvxcu.h:130
Indicates that requested operation is not implemented.
Definition: nvxcu.h:35
uint32_t num_levels
The number of pyramid levels.
Definition: nvxcu.h:651
nvxcu_border_mode_e mode
Border mode.
Definition: nvxcu.h:414
Indicates that current set of parameters is invalid.
Definition: nvxcu.h:33
nvxcu_array_t base
Base array structure.
Definition: nvxcu.h:627
A nvxcu_convert_policy_e.
Definition: nvxcu.h:92
float z
The Z coordinate.
Definition: nvxcu.h:492
nvxcu_error_status_e nvxcuSubtract(const nvxcu_image_t *in1, const nvxcu_image_t *in2, nvxcu_convert_policy_e policy, const nvxcu_image_t *out, const nvxcu_exec_target_t *exec_target)
Performs subtraction between two images.
Used to extract the Cb/U channel.
Definition: nvxcu.h:229