Stereo IVCL  1.0.0
Stereo Matching on GPGPU
All Files Functions Variables Macros Pages
Functions
sgm.cl File Reference

Functions

__kernel void evaluate_path_ocl (__global float *prior_cost, __global float *local_cost, float path_intensity_gradient, __global float *curr_cost, int width, int height, int disp_range, int d, float PENALTY1, float PENALTY2)
 
__kernel void iterate_direction_dirxpos_ocl (int dirx, __global uchar *left_image, __global float *costs, __global float *accumulated_costs, int width, int height, int disp_range, float PENALTY1, float PENALTY2)
 
__kernel void iterate_direction_dirypos_ocl (int diry, __global uchar *left_image, __global float *costs, __global float *accumulated_costs, int width, int height, int disp_range, float PENALTY1, float PENALTY2)
 
__kernel void iterate_direction_dirxneg_ocl (int dirx, __global uchar *left_image, __global float *costs, __global float *accumulated_costs, int width, int height, int disp_range, float PENALTY1, float PENALTY2)
 
__kernel void iterate_direction_diryneg_ocl (int diry, __global uchar *left_image, __global float *costs, __global float *accumulated_costs, int width, int height, int disp_range, float PENALTY1, float PENALTY2)
 
__kernel void inplace_sum_views_ocl (__global float *im1, __global float *im2, int width, int dispRange)
 

Function Documentation

◆ evaluate_path_ocl()

__kernel void evaluate_path_ocl ( __global float *  prior_cost,
__global float *  local_cost,
float  path_intensity_gradient,
__global float *  curr_cost,
int  width,
int  height,
int  disp_range,
int  d,
float  PENALTY1,
float  PENALTY2 
)

Evaluate the current path cost

Parameters
prior_costThe acculumated cost along the considered path
local_costThe current local cost
path_intensity_gradientThe current path intensity difference
curr_costThe current accumulated cost
widthThe image width
heightThe image height
disp_rangeThe stereo disparity search range
dThe current disparity
PENALTY1The small penalty hyperparameter for accumualated cost
PENALTY2The big penalty hyperparameter for accumualated cost

◆ inplace_sum_views_ocl()

__kernel void inplace_sum_views_ocl ( __global float *  im1,
__global float *  im2,
int  width,
int  dispRange 
)

Compute the final sum cost based on the cost stored before through traversing optimal direction

Parameters
im1The final accumulated datacost
im2The compute cost from semi-global matching
widthThe image width
disp_rangeThe stereo disparity search range

◆ iterate_direction_dirxneg_ocl()

__kernel void iterate_direction_dirxneg_ocl ( int  dirx,
__global uchar *  left_image,
__global float *  costs,
__global float *  accumulated_costs,
int  width,
int  height,
int  disp_range,
float  PENALTY1,
float  PENALTY2 
)

Dynamically iterate horizontally (x-direction) in the left direction (negative)

Parameters
dirxThe x direction value
left_imageThe left input image
costsThe initial 3D datacost
accumulated_costsThe accumulated datacost along the traversed path
widthThe image width
heightThe image height
disp_rangeThe stereo disparity search range
PENALTY1The small penalty hyperparameter for accumualated cost
PENALTY2The big penalty hyperparameter for accumualated cost

◆ iterate_direction_dirxpos_ocl()

__kernel void iterate_direction_dirxpos_ocl ( int  dirx,
__global uchar *  left_image,
__global float *  costs,
__global float *  accumulated_costs,
int  width,
int  height,
int  disp_range,
float  PENALTY1,
float  PENALTY2 
)

Dynamically iterate horizontally (x-direction) in the right direction (positive)

Parameters
dirxThe x direction value
left_imageThe left input image
costsThe initial 3D datacost
accumulated_costsThe accumulated datacost along the traversed path
widthThe image width
heightThe image height
disp_rangeThe stereo disparity search range
PENALTY1The small penalty hyperparameter for accumualated cost
PENALTY2The big penalty hyperparameter for accumualated cost

◆ iterate_direction_diryneg_ocl()

__kernel void iterate_direction_diryneg_ocl ( int  diry,
__global uchar *  left_image,
__global float *  costs,
__global float *  accumulated_costs,
int  width,
int  height,
int  disp_range,
float  PENALTY1,
float  PENALTY2 
)

Dynamically iterate vertically (y-direction) in the up direction (negative)

Parameters
diryThe y direction value
left_imageThe left input image
costsThe initial 3D datacost
accumulated_costsThe accumulated datacost along the traversed path
widthThe image width
heightThe image height
disp_rangeThe stereo disparity search range
PENALTY1The small penalty hyperparameter for accumualated cost
PENALTY2The big penalty hyperparameter for accumualated cost

◆ iterate_direction_dirypos_ocl()

__kernel void iterate_direction_dirypos_ocl ( int  diry,
__global uchar *  left_image,
__global float *  costs,
__global float *  accumulated_costs,
int  width,
int  height,
int  disp_range,
float  PENALTY1,
float  PENALTY2 
)

Dynamically iterate vertically (y-direction) in the down direction (positive)

Parameters
diryThe y direction value
left_imageThe left input image
costsThe initial 3D datacost
accumulated_costsThe accumulated datacost along the traversed path
widthThe image width
heightThe image height
disp_rangeThe stereo disparity search range
PENALTY1The small penalty hyperparameter for accumualated cost
PENALTY2The big penalty hyperparameter for accumualated cost