![]() |
ETRI IVCL 1.0.0
Acceleration SW Platform for Ondevice
|
Macros | |
| #define | WIN_SIZE 2 |
Functions | |
| __kernel void | computeCost1 (__global float *cost, __global uchar *img, __global int *val, int cam1, int cam2, int width, int height, __global float *H) |
| __kernel void | computeCost2 (__global float *cost, __global uchar4 *img, __global int *val, int cam1, int cam2, int width, int height, __global float *H) |
| __kernel void | computeCostXYZ (__global float *val, float pi4_min, float dx, int N, int cam, int M, int width, int height, __global int *nei, __global float *A, __global float *B, __global float *C, __global uchar4 *img) |
| __kernel void | filterCost1 (__global float *cost, __global int *val, int width, int height) |
| __kernel void | filterCostXYZ (__global float *cost, __global float *val, int width, int height, int N) |
| __kernel void | determinePlane (__global short *idx_sel, __global float *cost_min, __global float *cost, int width, int height, int N, int offset, int M) |
| #define WIN_SIZE 2 |
| __kernel void computeCost1 | ( | __global float * | cost, |
| __global uchar * | img, | ||
| __global int * | val, | ||
| int | cam1, | ||
| int | cam2, | ||
| int | width, | ||
| int | height, | ||
| __global float * | H | ||
| ) |
Compute cost volume
| __kernel void computeCost2 | ( | __global float * | cost, |
| __global uchar4 * | img, | ||
| __global int * | val, | ||
| int | cam1, | ||
| int | cam2, | ||
| int | width, | ||
| int | height, | ||
| __global float * | H | ||
| ) |
Compute cost volume
| __kernel void computeCostXYZ | ( | __global float * | val, |
| float | pi4_min, | ||
| float | dx, | ||
| int | N, | ||
| int | cam, | ||
| int | M, | ||
| int | width, | ||
| int | height, | ||
| __global int * | nei, | ||
| __global float * | A, | ||
| __global float * | B, | ||
| __global float * | C, | ||
| __global uchar4 * | img | ||
| ) |
Compute cost volume using OpenCL
| val | output cost volume before filter |
| pi4_min | binding box's min location in the search direction |
| dx | longest bounding box depends on resolution; dx = bounding_length_max / (float)(resolution - 1); |
| N | search direction grid length; N = (int)((bounding_box_length) / dx) + 1; |
| cam | current camera |
| M | the number of neighbor images |
| width | image width |
| height | image height |
| nei | neighboring camera info |
| A | A = (M2) * (invM1). matrix PlaneSweepingStereo::PrepareHomography |
| B | B = (M2) * (t) * (pi^T) * (invM1). matrix PlaneSweepingStereo::PrepareHomography |
| C | C = (pi^T) * (invM1) * (m1). scalar value PlaneSweepingStereo::PrepareHomography |
| img | data of all images |
| __kernel void determinePlane | ( | __global short * | idx_sel, |
| __global float * | cost_min, | ||
| __global float * | cost, | ||
| int | width, | ||
| int | height, | ||
| int | N, | ||
| int | offset, | ||
| int | M | ||
| ) |
determine optimal plane index with minimum cost
| idx_sel | output index of the minimum value in cost volume |
| cost_min | output minimum value in cost volume |
| cost | cost volume after filter |
| width | image width |
| height | image height |
| offset | offset value of index (Set the offset according to the N) |
| M | the number of neighbor images |
| __kernel void filterCost1 | ( | __global float * | cost, |
| __global int * | val, | ||
| int | width, | ||
| int | height | ||
| ) |
| __kernel void filterCostXYZ | ( | __global float * | cost, |
| __global float * | val, | ||
| int | width, | ||
| int | height, | ||
| int | N | ||
| ) |
Perform cost filter
| cost | output cost volume after filter |
| val | cost volume before filter |
| width | image width |
| height | image height |
| N | search direction grid length; N = (int)((bounding_box_length) / dx) + 1; |