VisionWorks Toolkit Reference

April 8, 2016 | 1.4 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
NVX CUDA Primitives API

Detailed Description

This section includes the CUDA primitives.

Note
This is CUDA API for VisionWorks documentation. For Core CUDA API documentation, see here.

Functions

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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 primitive. More...
 
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 size in each dimension). More...
 
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. More...
 
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 neighborhood. More...
 
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 primitive. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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. More...
 
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 primitive. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Function Documentation

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.

See also
Absolute Difference
Parameters
[in]in1Specifies the first input image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 format. Only nvxcu_pitch_linear_image_t is supported.
[in]in2Specifies the second input image. It must have the same size and format as in1. nvxcu_pitch_linear_image_t and nvxcu_uniform_image_t are supported.
[out]outSpecifies the output image. It must have the same size and format as in1. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Accumulate
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in,out]accumSpecifies the accumulation image. It must have NVXCU_DF_IMAGE_S16 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Accumulate Squared
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]shiftSpecifies the shift scalar.
[in,out]accumSpecifies the accumulation image. It must have NVXCU_DF_IMAGE_S16 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Accumulate Weighted
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]alphaSpecifies the weight scalar.
[in,out]accumSpecifies the accumulation image. It must have NVXCU_DF_IMAGE_U8 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Arithmetic Addition
Parameters
[in]in1Specifies the first input image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 format. nvxcu_pitch_linear_image_t and nvxcu_uniform_image_t are supported.
[in]in2Specifies the second input image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 format. It must have the same size as in1. Only nvxcu_pitch_linear_image_t is supported.
[in]policySpecifies the conversion policy.
[out]outSpecifies the output image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 format. It must have the same size as in1. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Bitwise AND
Parameters
[in]in1Specifies the first input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]in2Specifies the second input image. It must have the same size and format as in1. Only nvxcu_pitch_linear_image_t is supported.
[out]outSpecifies the output image. It must have the same size and format as in1. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Bitwise NOT
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size and format as input. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Bitwise INCLUSIVE OR
Parameters
[in]in1Specifies the first input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]in2Specifies the second input image. It must have the same size and format as in1. Only nvxcu_pitch_linear_image_t is supported.
[out]outSpecifies the output image. It must have the same size and format as in1. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Bitwise EXCLUSIVE OR
Parameters
[in]in1Specifies the first input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]in2Specifies the second input image. It must have the same size and format as in1. Only nvxcu_pitch_linear_image_t is supported.
[out]outSpecifies the output image. It must have the same size and format as in1. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Box Filter
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size and format as input. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Canny Edge Detector
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]lower_threshSpecifies the lower threshold value for hysteresis.
[in]upper_threshSpecifies the upper threshold value for hysteresis.
[in]gradient_sizeSpecifies the gradient size for Sobel operator. It must be 3, 5 or 7.
[in]norm_typeSpecifies the norm used to compute the gradient.
[out]outputSpecifies the output image. It must have the same size and format as input. Only nvxcu_pitch_linear_image_t is supported.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuCannyEdgeDetector_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the width of the input image.
[in]heightSpecifies the height of the input image.
[in]formatSpecifies the format of the input image.
[in]gradient_sizeSpecifies the gradient size for Sobel operator.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Channel Combine
Parameters
[in]plane0Specifies the input plane for channel #0. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]plane1Specifies the input plane for channel #1. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]plane2Specifies the input plane for channel #2. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]plane3[optional] Specifies the input plane for channel #3. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have a multi-channel format defined by nvxcu_df_image_e. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Channel Extract
Parameters
[in]inputSpecifies the input image. It must have a multi-channel format defined by nvxcu_df_image_e. Only nvxcu_pitch_linear_image_t is supported.
[in]channelSpecifies the channel to extract.
[out]outputSpecifies the output image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Color Convert
Color Convert Extensions
Parameters
[in]inputSpecifies the input image. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]color_spaceSpecifies the input color space.
[in]channel_rangeSpecifies the input channel range.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Convert Bit depth
Parameters
[in]inputSpecifies the input image. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]policySpecifies the conversion policy.
[in]shiftSpecifies the shift value.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Custom Convolution
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 format. Only nvxcu_pitch_linear_image_t is supported.
[in]kernel_dev_ptrSpecifies the CUDA device pointer to the convolution kernel coefficients. The coefficients must be stored in reverse order, ie. kernel_dev_ptr[0] must contain kernel[H - 1][W - 1] value.
[in]kernel_divSpecifies the convolution kernel scale factor.
[in]kernel_widthSpecifies the convolution kernel width.
[in]kernel_heightSpecifies the convolution kernel height.
[out]outputSpecifies the output image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode. Support for non-zero constant border mode is planned to be removed in future releases as it brings additional complexity to the VisionWorks CUDA API.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuConvolve_GetBufSize to get size of the buffers. The parameter is needed only for NVXCU_BORDER_MODE_CONSTANT with non-zero border value. For all other modes is can be NULL. The parameter is planned to be removed in future releases.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
nvxcu_tmp_buf_size_t
Deprecated:
The function is planned to be removed in future releases. Allocation of temporary buffers is only needed when NVXCU_BORDER_MODE_CONSTANT mode of the API is used with non-zero border value. Note that CUDA does not natively support non-zero constant border mode, therefore VisionWorks is creating a padding in a temporary buffer to emulate this mode. Support for non-zero constant border mode is planned to be removed in future releases as it brings additional complexity to the VisionWorks CUDA API.
Parameters
[in]widthSpecifies the width of the input image.
[in]heightSpecifies the height of the input image.
[in]input_formatSpecifies the format of the input image.
[in]kernel_widthSpecifies the convolution kernel width.
[in]kernel_heightSpecifies the convolution kernel height.
[in]output_formatSpecifies the format of the output image.
[in]borderSpecifies the border extrapolation mode.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
IME : Create Motion Field
Parameters
[in]ref_imageSpecifies the reference image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]cur_imageSpecifies the current image. It must have the same size as ref_image. Only nvxcu_pitch_linear_image_t is supported.
[in]anchor[optional] Specifies the anchor field. It must have \( [W / B, H / B] \) size, where \( W \times H \) - ref_image size and \( B \) - block size. For each \( B \times B \) block on ref_image the anchor image contains an offset of search window on cur_image in Q14.2 format (NVXCU_DF_IMAGE_2S16). If the anchor parameter is missed, it is assumed that the offset is zero for all blocks. Only nvxcu_pitch_linear_image_t is supported.
[in]bias[optional] Specifies the bias field. It must have \( [W / B, H / B] \) size, where \( W \times H \) - ref_image size and \( B \) - block size. For each \( B \times B \) block on ref_image the bias image contains a bias vector for cost calculation in Q14.2 format (NVXCU_DF_IMAGE_2S16). If the bias parameter is missed, it is assumed that the bias vector is zero for all blocks. Only nvxcu_pitch_linear_image_t is supported.
[out]best_mv0[optional] Specifies the output image of the best motion vectors. It must have \( [W / B, H / B] \) size, where \( W \times H \) - ref_image size and \( B \) - block size. The motion vectors will be stored in Q14.2 format (NVXCU_DF_IMAGE_2S16). Can be NULL if the primitive is used for SAD table calculation only. Only nvxcu_pitch_linear_image_t is supported.
[out]best_mv1[optional] Specifies the output image of the second best motion vectors. It must have \( [W / B, H / B] \) size, where \( W \times H \) - ref_image size and \( B \) - block size. The motion vectors will be stored in Q14.2 format (NVXCU_DF_IMAGE_2S16). Can be NULL if the primitive is used for SAD table calculation only. Only nvxcu_pitch_linear_image_t is supported.
[out]sad_table[optional] Specifies the optional output image with SAD table. It must have \( [W / B * SW * SH, H / B] \) size, where \( W \times H \) - ref_image size, \( SW \times SH \) - search window size, and \( B \) - block size. For each \( B \times B \) block on ref_image and for each position in search window the sad_table image contains SAD (sum of absolute diferences) value for corresponding blocks in U32 format (NVXCU_DF_IMAGE_U32). The values are stored contiguously, i.e., first \( SW * SH \) values corresponds to the first block. Search window is treated in row major order started from top left corner. Only nvxcu_pitch_linear_image_t is supported.
[in]block_sizeSpecifies the block size.
[in]search_window_widthSpecifies the search window width.
[in]search_window_heightSpecifies the search window height. Supported search window sizes: 16x16, 32x32, 64x64, 64x32, 32x16 and 48x32.
[in]bias_weightSpecifies the weight of bias term in cost formula.
[in]mv_div_factorSpecifies the best motion vectors diversity factor.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Dilate Image
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size and format as input. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Equalize Histogram
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size and format as input. Only nvxcu_pitch_linear_image_t is supported.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuEqualizeHist_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

Parameters
[in]input_widthSpecifies the input image width.
[in]input_heightSpecifies the input image height.
[in]input_formatSpecifies the input image format.
[in]propSpecifies the CUDA device properties for current active device.
See also
nvxcu_tmp_buf_size_t
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Erode Image
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size and format as input. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Fast Corners
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]strength_threshSpecifies the threshold on difference between intensity of the central pixel and pixels on Bresenham's circle of radius 3.
[in]nonmax_suppressionSpecifies boolean flag that indicates whether to apply non-maximum suppression.
[out]cornersSpecifies the output array. It must have NVXCU_TYPE_KEYPOINT or NVXCU_TYPE_KEYPOINTF or NVXCU_TYPE_POINT2F item type. Only nvxcu_plain_array_t is supported.
[out]num_corners_dev_ptrSpecifies CUDA device pointer to the total number of detected corners.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuFastCorners_GetBufSize to get size of the buffers.
[in]borderSpecifies the border extrapolation mode. Support for non-zero constant border mode is planned to be removed in future releases as it brings additional complexity to the VisionWorks CUDA API.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the width of the input image.
[in]heightSpecifies the height of the input image.
[in]formatSpecifies the format of the input image.
[in]nonmax_suppressionSpecifies boolean flag that indicates whether to apply non-maximum suppression.
[in]arr_typeSpecifies the output array item type.
[in]arr_capacitySpecifies the output array capacity.
[in]borderSpecifies the border extrapolation mode.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
FAST Track
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output array of corners. Only NVXCU_TYPE_KEYPOINT, NVXCU_TYPE_KEYPOINTF and NVXCU_TYPE_POINT2F item types are supported. Only nvxcu_plain_array_t is supported.
[in]mask[optional] Specifies the input mask image. It must have NVXCU_DF_IMAGE_U8 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]tracked_points[optional] Specifies the tracked features list. It must have the same item type as output. Only nvxcu_plain_array_t is supported.
[in]typeSpecifies the number of neighborhoods to test. Supported values : 9, 10, 11, 12.
[in]thresholdSpecifies the threshold on difference between intensity of the central pixel and pixels of a circle around this pixel. The threshold value should be less than 255.
[in]cell_sizeSpecifies the size of cells for cell-based non-max suppression.
[out]num_corners_dev_ptrSpecifies the CUDA device pointer to the total number of detected corners.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuFastTrack_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the width of the input image.
[in]heightSpecifies the height of the input image.
[in]formatSpecifies the format of the input image.
[in]arr_typeSpecifies the output array item type.
[in]arr_capacitySpecifies the output array capacity.
[in]cell_sizeSpecifies the size of cells for cell-based non-max suppression.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Flip Image
Parameters
[in]inputSpecifies the input image. Supported formats: NVXCU_DF_IMAGE_U8, NVXCU_DF_IMAGE_RGB, NVXCU_DF_IMAGE_RGBX. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size and format as input. Only nvxcu_pitch_linear_image_t is supported.
[in]flip_modeSpecifies the flipping mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Gaussian Filter
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size and format as input. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

Note
The first level of the input pyramid must be initialized.
See also
Gaussian Image Pyramid
Parameters
[in,out]pyrSpecifies the pyramid object. Only nvxcu_pitch_linear_pyramid_t is supported.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuGaussianPyramid_GetBufSize to get size of the buffers.
[in]borderSpecifies the border extrapolation mode. Support for non-zero constant border mode is planned to be removed in future releases as it brings additional complexity to the VisionWorks CUDA API.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the width of the first pyramid level.
[in]heightSpecifies the height of the first pyramid level.
[in]num_levelsSpecifies the number of levels in the output pyramid.
[in]scaleSpecifies the pyramid's scale factor.
[in]borderSpecifies the border extrapolation mode.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Half Scale Gaussian
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size and format as input. Only nvxcu_pitch_linear_image_t is supported.
[in]kernel_sizeSpecifies the Gaussian kernel size. It must be 3 or 5.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Harris Corners
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]strength_threshSpecifies the minimum threshold with which to eliminate Harris Corner scores (computed using the normalized Sobel kernel).
[in]min_distanceSpecifies the radial Euclidean distance for non-maximum suppression.
[in]sensitivitySpecifies sensitivity threshold \( k \) from the Harris-Stephens equation.
[in]gradient_sizeSpecifies the gradient window size. It must be 3, 5 or 7.
[in]block_sizeSpecifies the block window size used to compute the Harris Corner score. It must be 3, 5 or 7.
[out]cornersSpecifies the output array. It must have NVXCU_TYPE_KEYPOINT or NVXCU_TYPE_KEYPOINTF or NVXCU_TYPE_POINT2F item type. Only nvxcu_plain_array_t is supported.
[out]num_corners_dev_ptrSpecifies CUDA device pointer to the total number of detected corners.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuHarrisCorners_GetBufSize to get size of the buffers.
[in]borderSpecifies the border extrapolation mode. Support for non-zero constant border mode is planned to be removed in future releases as it brings additional complexity to the VisionWorks CUDA API.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the width of the input image.
[in]heightSpecifies the height of the input image.
[in]formatSpecifies the format of the input image.
[in]min_distanceSpecifies the radial Euclidean distance for non-maximum suppression.
[in]gradient_sizeSpecifies the gradient window size. It must be 3, 5 or 7.
[in]block_sizeSpecifies the block window size used to compute the Harris Corner score. It must be 3, 5 or 7.
[in]arr_typeSpecifies the output array item type.
[in]arr_capacitySpecifies the output array capacity.
[in]borderSpecifies the border extrapolation mode.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Harris Track
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output array of corners. Only NVXCU_TYPE_KEYPOINT, NVXCU_TYPE_KEYPOINTF and NVXCU_TYPE_POINT2F item types are supported. Only nvxcu_plain_array_t is supported.
[in]mask[optional] Specifies the input mask image. It must have NVXCU_DF_IMAGE_U8 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]tracked_points[optional] Specifies the tracked features list. It must have the same item type as output. Only nvxcu_plain_array_t is supported.
[in]kSpecifies the Harris K parameter.
[in]thresholdSpecifies the Harris threshold.
[in]cell_sizeSpecifies the size of cells for cell-based non-max suppression.
[out]num_corners_dev_ptrSpecifies the CUDA device pointer to the total number of detected corners.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuHarrisTrack_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the width of the input image.
[in]heightSpecifies the height of the input image.
[in]formatSpecifies the format of the input image.
[in]arr_typeSpecifies the output array item type.
[in]arr_capacitySpecifies the output array capacity.
[in]cell_sizeSpecifies the size of cells for cell-based non-max suppression.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Histogram
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]distribution_dev_ptrSpecifies the CUDA device pointer to distribution array.
[in]offsetSpecifies the start of the values to use (inclusive).
[in]rangeSpecifies the end value to use as the range.
[in]num_binsSpecifies the number of bins in the distribution array.
[in]window_sizeSpecifies the distribution's window size.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuHistogram_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

Parameters
[in]input_widthSpecifies the input image width.
[in]input_heightSpecifies the input image height.
[in]input_formatSpecifies the input image format.
[in]offsetSpecifies the start of the values to use (inclusive).
[in]rangeSpecifies the end value to use as the range.
[in]num_binsSpecifies the number of bins in the distribution array.
[in]window_sizeSpecifies the distribution's window size.
[in]propSpecifies the CUDA device properties for current active device.
See also
nvxcu_tmp_buf_size_t
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Hough Circles
Parameters
[in]edgesSpecifies the input binary image with edges (for example, output from nvxcuCannyEdgeDetector). Only NVXCU_DF_IMAGE_U8 format is supported. Only nvxcu_pitch_linear_image_t is supported.
[in]dxSpecifies the input image with horizontal derivatives (for example, output from nvxcuSobel3x3). Only NVXCU_DF_IMAGE_S16 format is supported. It must have the same size as edges image. Only nvxcu_pitch_linear_image_t is supported.
[in]dySpecifies the input image with vertical derivatives (for example, output from nvxcuSobel3x3). Only NVXCU_DF_IMAGE_S16 format is supported. It must have the same size as edges image. Only nvxcu_pitch_linear_image_t is supported.
[out]circlesSpecifies the output array with detected circles. Each circle is encoded as a NVXCU_TYPE_POINT3F (x, y, radius). Only nvxcu_plain_array_t is supported.
[out]num_detections_dev_ptrSpecifies the CUDA device pointer to the total number of detected circles.
[in]dpSpecifies the inverse ratio of the accumulator resolution to the image resolution. For example, if dp=1, the accumulator has the same resolution as the input image. If dp=2, the accumulator has the width and height twice as small as the input image. It must be greater or equal than 1.
[in]min_distSpecifies the minimum distance between the centers of the detected circles. If the parameter is too small, multiple neighbor circles may be falsely detected in addition to a true one. If it is too large, some circles may be missed. It must be a positive value.
[in]min_radiusSpecifies the minimum circle radius.
[in]max_radiusSpecifies the maximum circle radius. It must not be less than min_radius.
[in]acc_thresholdSpecifies the accumulator threshold for the circle centers at the detection stage. The smaller the threshold is, the more false circles may be detected. Circles corresponding to the larger accumulator values are returned first.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuHoughCircles_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the input image width.
[in]heightSpecifies the input image height.
[in]formatSpecifies the input image format.
[in]arr_capacitySpecifies the output array capacity.
[in]dpSpecifies the inverse ratio of the accumulator resolution to the image resolution.
[in]min_distSpecifies the minimum distance between the centers of the detected circles.
[in]min_radiusSpecifies the minimum circle radius.
[in]max_radiusSpecifies the maximum circle radius.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Hough Lines
Parameters
[in]inputSpecifies the input image. Only NVXCU_DF_IMAGE_U8 format is supported. The image width and height must be less than \( 2^{16} \). Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output lines list. Only NVXCU_TYPE_POINT3F item type is supported. Only nvxcu_plain_array_t is supported.
[in]rhoSpecifies the distance resolution of the accumulator in pixels. It must be a positive value.
[in]thetaSpecifies the angle resolution of the accumulator in radians. It must be in range \( (0, \pi] \).
[in]thresholdSpecifies the accumulator threshold parameter. Only lines that get enough votes (> threshold) are returned.
[out]num_lines_dev_ptrSpecifies the CUDA device pointer to the total number of detected lines.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuHoughLines_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the input image width.
[in]heightSpecifies the input image height.
[in]formatSpecifies the input image format.
[in]arr_capacitySpecifies the output array capacity.
[in]rhoSpecifies the distance resolution of the accumulator in pixels.
[in]thetaSpecifies the angle resolution of the accumulator in radians.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Hough Lines
Parameters
[in]inputSpecifies the input image (8-bit grayscale). Only NVXCU_DF_IMAGE_U8 format is supported. The image width and height must be less than \( 2^{16} \). Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output lines list. Only NVXCU_TYPE_POINT4F item type is supported. Only nvxcu_plain_array_t is supported.
[in]rhoSpecifies the distance resolution of the accumulator in pixels. It must be a positive value.
[in]thetaSpecifies the angle resolution of the accumulator in radians. It must be in range \( (0, \pi] \).
[in]thresholdSpecifies the accumulator threshold parameter. Only lines that get enough votes (> threshold) are returned.
[in]min_line_lengthSpecifies the minimum line length. Shorter segments are rejected.
[in]max_line_gapSpecifies the maximum allowed gap between points on the same line to link them.
[out]num_segments_dev_ptrSpecifies the CUDA device pointer to the total number of detected segments.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuHoughSegments_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the input image width.
[in]heightSpecifies the input image height.
[in]formatSpecifies the input image format.
[in]arr_capacitySpecifies the output array capacity.
[in]rhoSpecifies the distance resolution of the accumulator in pixels.
[in]thetaSpecifies the angle resolution of the accumulator in radians.
[in]min_line_lengthSpecifies the minimum line length. Shorter segments are rejected.
[in]max_line_gapSpecifies the maximum allowed gap between points on the same line to link them.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Integral Image
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have NVXCU_DF_IMAGE_U32 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Laplacian3x3
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size and format as input. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Magnitude
Parameters
[in]grad_xSpecifies the input x image. It must have NVXCU_DF_IMAGE_S16 format. Only nvxcu_pitch_linear_image_t is supported.
[in]grad_ySpecifies the input y image. It must have the same size and format as grad_x. Only nvxcu_pitch_linear_image_t is supported.
[out]magSpecifies the output magnitude image. It must have NVXCU_DF_IMAGE_S16 format. It must have the same size as grad_x. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Mean and Standard Deviation
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]mean_dev_ptrSpecifies the CUDA device pointer to the mean value scalar.
[out]stddev_dev_ptrSpecifies the CUDA device pointer to the standard deviation scalar.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuMeanStdDev_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

Parameters
[in]input_widthSpecifies the input image width.
[in]input_heightSpecifies the input image height.
[in]input_formatSpecifies the input image format.
[in]propSpecifies the CUDA device properties for current active device.
See also
nvxcu_tmp_buf_size_t
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Median Filter
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]outputSpecifies the output image. It must have the same size and format as input. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Min, Max Location
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 or NVXCU_DF_IMAGE_U16 or NVXCU_DF_IMAGE_S32 or NVXCU_DF_IMAGE_U32 format. Only nvxcu_pitch_linear_image_t is supported.
[out]min_val_dev_ptr[optional] Specifies the CUDA device pointer to the output minimum value. The scalar's type must match image format (for example, uint16_t for NVXCU_DF_IMAGE_U16).
[out]max_val_dev_ptr[optional] Specifies the CUDA device pointer to the output maximum value. The scalar's type must match image format (for example, uint16_t for NVXCU_DF_IMAGE_U16).
[out]min_loc[optional] Specifies the output array of minimum locations. It must have NVXCU_TYPE_COORDINATES2D item type. Only nvxcu_plain_array_t is supported.
[out]max_loc[optional] Specifies the output array of maximum locations. It must have NVXCU_TYPE_COORDINATES2D item type. Only nvxcu_plain_array_t is supported.
[out]min_count_dev_ptr[optional] Specifies the CUDA device pointer to total number of detected minimums.
[out]max_count_dev_ptr[optional] Specifies the CUDA device pointer to total number of detected maximums.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuMinMaxLoc_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

Parameters
[in]input_widthSpecifies the input image width.
[in]input_heightSpecifies the input image height.
[in]input_formatSpecifies the input image format.
[in]propSpecifies the CUDA device properties for current active device.
See also
nvxcu_tmp_buf_size_t
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Pixel-wise Multiplication
Parameters
[in]in1Specifies the first input image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 or NVXCU_DF_IMAGE_F32 format. Only nvxcu_pitch_linear_image_t is supported.
[in]in2Specifies the second input image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 or NVXCU_DF_IMAGE_F32 format. It must have the same size as in1. nvxcu_pitch_linear_image_t and nvxcu_uniform_image_t are supported.
[in]scaleSpecifies a non-negative scalar multiplied to each product before overflow handling.
[in]overflow_policySpecifies an overflow policy.
[in]rounding_policySpecifies a rounding policy.
[out]outSpecifies the output image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 or NVXCU_DF_IMAGE_F32 format. It must have the same size as in1. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Multiply by Scalar
Parameters
[in]srcSpecifies the input image. It must have NVXCU_DF_IMAGE_2S16 format. Only nvxcu_pitch_linear_image_t is supported.
[out]dstSpecifies the output image. It must have the same size as src. It must have NVXCU_DF_IMAGE_2S16 or NVXCU_DF_IMAGE_2F32 format. Only nvxcu_pitch_linear_image_t is supported.
[in]alphaSpecifies the \( \alpha \) coefficient.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Optical Flow Pyramid (LK)
Parameters
[in]old_imagesSpecifies the input of first (old) image pyramid. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_pyramid_t is supported.
[in]new_imagesSpecifies the input of destination (new) image pyramid. It must have the same size and format as old_images. Only nvxcu_pitch_linear_pyramid_t is supported.
[in]old_pointsSpecifies an array of keypoints in the old_images high resolution pyramid. It must have NVXCU_TYPE_KEYPOINT or NVXCU_TYPE_KEYPOINTF or NVXCU_TYPE_POINT2F item type. Only nvxcu_plain_array_t is supported.
[in,out]new_pointsSpecifies an array of keypoints in the new_images high resolution pyramid. It must contain initial estimation. It must have the same item type as old_points. It must have capacity greater than or equal to capacity of the old_points. Only nvxcu_plain_array_t is supported.
[in]terminationSpecifies the termination criteria.
[in]epsilonSpecifies the error for terminating the algorithm.
[in]num_iterationsSpecifies the number of iterations.
[in]window_dimensionSpecifies the size of the window on which to perform the algorithm. It must be greater than or equal to 3 and less than or equal to 32.
[in]calcErrorSpecifies the boolean flag that indicates whether to calculate tracking error.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuOpticalFlowPyrLK_GetBufSize to get size of the buffers.
[in]borderSpecifies the border extrapolation mode. NVXCU_BORDER_MODE_CONSTANT with non-zero border value is not supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the width of the first level of the input image pyramid.
[in]heightSpecifies the height of the first level of the input image pyramid.
[in]levelsSpecifies the number of levels in the input image pyramid.
[in]scaleSpecifies the input pyramid's scale factor.
[in]arr_typeSpecifies the output array item type.
[in]capacitySpecifies the output array capacity.
[in]window_dimensionSpecifies the size of the window on which to perform the algorithm.
[in]calcErrorSpecifies the boolean flag that indicates whether to calculate tracking error.
[in]borderSpecifies the border extrapolation mode.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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 size in each dimension).

See also
IME : Partition Motion Field
Parameters
[in]ref_imageSpecifies the reference image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]cur_imageSpecifies the current image. It must have the same size and format as ref_image. Only nvxcu_pitch_linear_image_t is supported.
[in]in_mv_0Specifies the input motion field for bigger blocks (first motion vectors). The motion vectors are assumed to be stored in Q14.2 format (NVXCU_DF_IMAGE_2S16). Only nvxcu_pitch_linear_image_t is supported.
[in]in_mv_1Specifies the input motion field for bigger blocks (second motion vectors). It must have the same size and format as in_mv_0 image. Only nvxcu_pitch_linear_image_t is supported.
[out]out_mv_0Specifies the output motion field for smaller blocks (first motion vectors). It must have the same format as in_mv_0 image. It must have twice larger size in each dimension than in_mv_0 image. Only nvxcu_pitch_linear_image_t is supported.
[out]out_mv_1[optional] Specifies the output motion field for smaller blocks (second motion vectors). It must have the same size and format as out_mv_0 image. Only nvxcu_pitch_linear_image_t is supported.
[in]smoothness_factorSpecifies the smoothness factor in cost formula.
[in]mv_div_factorSpecifies the best motion vectors diversity factor.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Phase
Parameters
[in]grad_xSpecifies the input x image. It must have NVXCU_DF_IMAGE_S16 format. Only nvxcu_pitch_linear_image_t is supported.
[in]grad_ySpecifies the input y image. It must have the same size and format as grad_x. Only nvxcu_pitch_linear_image_t is supported.
[out]orientationSpecifies the output phase image. It must have NVXCU_DF_IMAGE_U8 format. It must have the same size as grad_x. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 neighborhood.

See also
IME : Refine Motion Field
Parameters
[in]in_mv0Specifies the input motion field (first motion vectors). The motion vectors are assumed to be stored in Q14.2 format (NVXCU_DF_IMAGE_2S16). Only nvxcu_pitch_linear_image_t is supported.
[in]in_mv1Specifies the input motion field (second motion vectors). It must have the same size and format as in_mv0 image. Only nvxcu_pitch_linear_image_t is supported.
[in]sad_tableSpecifies the input image with SAD table. It must have \( [W * SW * SH, H] \) size, where \( W \times H \) - in_mv0 size and \( SW \times SH \) - search window size. The values are assumed to be stored in U32 format (NVXCU_DF_IMAGE_U32). The SAD table can be obtained via nvxcuCreateMotionField primitive. Only nvxcu_pitch_linear_image_t is supported.
[out]out_mv0Specifies the output motion field (first motion vectors). It must have the same size and format as in_mv0 image. Only nvxcu_pitch_linear_image_t is supported.
[out]out_mv1[optional] Specifies the output motion field (second motion vectors). It must have the same size and format as in_mv0 image. Only nvxcu_pitch_linear_image_t is supported.
[in]search_window_widthSpecifies the search window width.
[in]search_window_heightSpecifies the search window height.
[in]num_iterationsSpecifies the number of iterations.
[in]smoothness_factorSpecifies the smoothness factor in cost formula.
[in]mv_div_factorSpecifies the best motion vectors diversity factor.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuRefineMotionField_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]mv_widthSpecifies the input motion field width.
[in]mv_heightSpecifies the input motion field height.
[in]search_window_widthSpecifies the search window width.
[in]search_window_heightSpecifies the search window height.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Remap
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]tableSpecifies the input remap table. It must have NVXCU_DF_IMAGE_2F32 format. Only nvxcu_pitch_linear_image_t is supported.
[in]policySpecifies the interpolation mode.
[out]outputSpecifies the output image. It must have the same format as src. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Scale Image
Scale Image Extensions
Parameters
[in]srcSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_RGB or NVXCU_DF_IMAGE_RGBX format. Only nvxcu_pitch_linear_image_t is supported.
[out]dstSpecifies the output image. It must have the same format as src. Only nvxcu_pitch_linear_image_t is supported.
[in]typeSpecifies the interpolation mode.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Scharr3x3
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]output_x[optional] Specifies the output gradient in the x direction. It must have NVXCU_DF_IMAGE_S16 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[out]output_y[optional] Specifies the output gradient in the y direction. It must have NVXCU_DF_IMAGE_S16 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Semi-Global Matching
Parameters
[in]leftSpecifies the left stereo image. Only NVXCU_DF_IMAGE_U8 format is supported. Only nvxcu_pitch_linear_image_t is supported.
[in]rightSpecifies the right stereo image. It must have the same size and format as left. Only nvxcu_pitch_linear_image_t is supported.
[out]disparitySpecifies the output disparity. It contains values from minD-1 to maxD (exclusive) represented in Q11.4 fixed point format. Only NVXCU_DF_IMAGE_U16 format is supported. It must have the same size as left. Only nvxcu_pitch_linear_image_t is supported.
[in]minDSpecifies the minimum disparity value.
[in]maxDSpecifies the maximum disparity value.
[in]P1Specifies the smoothness penalty.
[in]P2Specifies the discontiguous penalty.
[in]sadSpecifies the average window size for sum of absolute differences (set to 1 for original SGM).
[in]clipSpecifies clip value for cost (used to preserve overflow in cost function)
[in]max_diffSpecifies maximum allowed difference (in integer pixel units) in the left-right disparity check.
[in]uniquenessSpecifies margin in percentage by which the best (minimum) computed cost function value should “win” the second best value to consider the found match correct.
[in]scanlines_maskSpecifies scan line directions. Any bit-OR of nvxcu_scanline_e values is suitable.
[in]flagsSpecifies extra flags. It must be a bitwise OR combination of nvxcu_sgm_flags_e values or 0 for default behavior.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuSemiGlobalMatching_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the input image width.
[in]heightSpecifies the input image height.
[in]formatSpecifies the input image format.
[in]minDSpecifies the minimum disparity value.
[in]maxDSpecifies the maximum disparity value.
[in]sadSpecifies the average window size for sum of absolute differences.
[in]flagsSpecifies extra flags. It must be a bitwise OR combination of nvxcu_sgm_flags_e values or 0 for default behavior.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Sobel 3x3
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[out]output_x[optional] Specifies the output gradient in the x direction. It must have NVXCU_DF_IMAGE_S16 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[out]output_y[optional] Specifies the output gradient in the y direction. It must have NVXCU_DF_IMAGE_S16 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Stereo Block Matching
Parameters
[in]leftSpecifies the left image. Only NVXCU_DF_IMAGE_U8 format is supported. Only nvxcu_pitch_linear_image_t is supported.
[in]rightSpecifies the right image. It must have the same size and format as left. Only nvxcu_pitch_linear_image_t is supported.
[out]dispSpecifies the output disparity. Only NVXCU_DF_IMAGE_U8 format is supported. It must have the same size as left. Only nvxcu_pitch_linear_image_t is supported.
[in]win_sizeSpecifies the average window size for sum of absolute differences (SAD). It must be an odd integer in range \( [3, 31] \).
[in]max_disparitySpecifies the maximum possible disparity that is considered. It must be a positive integer not greater than 256 and divisible by 8.
[in]tmp_bufSpecifies the pointers to temporary buffers. Use nvxcuStereoBlockMatching_GetBufSize to get size of the buffers.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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 primitive.

See also
nvxcu_tmp_buf_size_t
Parameters
[in]widthSpecifies the input image width.
[in]heightSpecifies the input image height.
[in]formatSpecifies the input image format.
[in]win_sizeSpecifies the average window size for sum of absolute differences (SAD).
[in]max_disparitySpecifies the maximum possible disparity that is considered.
[in]propSpecifies the CUDA device properties for current active device.
Returns
The size of temporary CUDA Device and HOST buffers.
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.

See also
Arithmetic Subtraction
Parameters
[in]in1Specifies the input minuend image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 format. nvxcu_pitch_linear_image_t and nvxcu_uniform_image_t are supported.
[in]in2Specifies the input subtrahend image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 format. It must have the same size as in1. nvxcu_pitch_linear_image_t and nvxcu_uniform_image_t are supported.
[in]policySpecifies the conversion policy.
[out]outSpecifies the output image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_S16 format. It must have the same size as in1. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
TableLookup
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]lut_dev_ptrSpecifies the CUDA device pointer to the LUT memory.
[in]lut_countSpecifies the number of items in the LUT array.
[out]outputSpecifies the output image. It must have NVXCU_DF_IMAGE_U8 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Thresholding
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]thresh_valueSpecifies the threshold value.
[in]true_valueSpecifies the "TRUE" value.
[in]false_valueSpecifies the "FALSE" value.
[out]outputSpecifies the output image. It must have NVXCU_DF_IMAGE_U8 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Thresholding
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 format. Only nvxcu_pitch_linear_image_t is supported.
[in]thresh_lower_valueSpecifies the lower threshold value.
[in]thresh_upper_valueSpecifies the upper threshold value.
[in]true_valueSpecifies the "TRUE" value.
[in]false_valueSpecifies the "FALSE" value.
[out]outputSpecifies the output image. It must have NVXCU_DF_IMAGE_U8 format. It must have the same size as input. Only nvxcu_pitch_linear_image_t is supported.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Warp Affine
Warp Extensions
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_RGBX format. Only nvxcu_pitch_linear_image_t is supported.
[in]matrix_dev_ptrSpecifies the CUDA device pointer to transform matrix.
[in]typeSpecifies the interpolation mode.
[out]outputSpecifies the output image. It must have the same format as src. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.
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.

See also
Warp Perspective
Warp Extensions
Parameters
[in]inputSpecifies the input image. It must have NVXCU_DF_IMAGE_U8 or NVXCU_DF_IMAGE_RGBX format. Only nvxcu_pitch_linear_image_t is supported.
[in]matrix_dev_ptrSpecifies the CUDA device pointer to transform matrix.
[in]typeSpecifies the interpolation mode.
[out]outputSpecifies the output image. It must have the same format as src. Only nvxcu_pitch_linear_image_t is supported.
[in]borderSpecifies the border extrapolation mode.
[in]exec_targetSpecifies the execution target. Only nvxcu_stream_exec_target_t is supported.
Returns
An nvxcu_error_status_e code.