This section documents the kernels defined for Surroundview processing.
Data Structures | |
struct | LensDistortionCorrection |
The configuration data structure for representing lens model of a signle camera. More... | |
struct | svPointDetect_t |
The point detect structure is the configuration data structure used by the TIVX_KERNEL_POINT_DETECT kernel. More... | |
struct | svLdcLut_t |
The svLdcLut_t structure is the configuration data structure for lens model used by the followig kernel(s) TIVX_KERNEL_POINT_DETECT, TIVX_KERNEL_POSE_ESTIMATION, TIVX_KERNEL_GENERATE_GPULUT. More... | |
struct | svACDetectStructFinalCorner_t |
The svACDetectStructFinalCorner_t structure is the configuration data structure containing detected point coordinates used by the followig kernel(s) TIVX_KERNEL_POINT_DETECT, TIVX_KERNEL_POSE_ESTIMATION. More... | |
struct | svPoseEstimation_t |
The svPoseEstimation_t structure is the configuration data structure used by the TIVX_KERNEL_POSE_ESTIMATION kernel. More... | |
struct | svACCalmatStruct_t |
The svACCalmatStruct_t structure is the structure containing calibration data used by the following kernel(s) TIVX_KERNEL_POSE_ESTIMATION, TIVX_KERNEL_GENERATE_3DBOWL, TIVX_KERNEL_GENERATE_GPULUT. More... | |
struct | svGeometric_t |
The svGeometric_t structure is the configuration data structure used by the TIVX_KERNEL_GENERATE_3DBOWL kernel. More... | |
struct | svGpuLutGen_t |
The svGpuLutGen_t structure is the configuration structure used by the following kernel(s) TIVX_KERNEL_GENERATE_3DBOWL, TIVX_KERNEL_GENERATE_GPULUT. More... | |
struct | tivx_srv_params_t |
The data structure used by the SGX SRV kernel for SRV creation. More... | |
Functions | |
void | tivxSrvLoadKernels (vx_context context) |
Used for the Application to load the srv kernels into the context. More... | |
void | tivxSrvUnLoadKernels (vx_context context) |
Used for the Application to unload the srv kernels from the context. More... | |
void | tivxSrvPrintPerformance (vx_perf_t performance, uint32_t numPixels, const char *testName) |
Used to print the performance of the kernels. More... | |
void | tivxRegisterSrvTargetC66Kernels (void) |
Function to register SRV Kernels on the c66 Target. More... | |
void | tivxUnRegisterSrvTargetC66Kernels (void) |
Function to un-register SRV Kernels on the c66 Target. More... | |
void | tivxRegisterSrvTargetGpuKernels (void) |
Function to register SRV Kernels on the gpu Target. More... | |
void | tivxUnRegisterSrvTargetGpuKernels (void) |
Function to un-register SRV Kernels on the gpu Target. More... | |
VX_API_ENTRY vx_node VX_API_CALL | tivxPointDetectNode (vx_graph graph, vx_user_data_object in_configuration, vx_user_data_object in_ldclut, vx_image in, vx_user_data_object out_configuration, vx_image buf_bwluma_frame) |
Creates a POINT_DETECT Node. More... | |
VX_API_ENTRY vx_node VX_API_CALL | tivxPoseEstimationNode (vx_graph graph, vx_user_data_object in_configuration, vx_user_data_object in_ldclut, vx_object_array in_corner_points, vx_user_data_object out_calmat) |
Creates a POSE_ESTIMATION Node. More... | |
VX_API_ENTRY vx_node VX_API_CALL | tivxGenerate3DbowlNode (vx_graph graph, vx_user_data_object in_configuration, vx_user_data_object in_calmat, vx_user_data_object in_offset, vx_array out_lut3dxyz, vx_user_data_object out_calmat_scaled) |
Creates a GENERATE_3DBOWL Node. More... | |
VX_API_ENTRY vx_node VX_API_CALL | tivxGenerateGpulutNode (vx_graph graph, vx_user_data_object in_configuration, vx_user_data_object in_ldclut, vx_user_data_object in_calmat_scaled, vx_array in_lut3dxyz, vx_array out_gpulut3d) |
Creates a GENERATE_GPULUT Node. More... | |
VX_API_ENTRY vx_node VX_API_CALL | tivxGlSrvNode (vx_graph graph, vx_user_data_object configuration, vx_object_array input, vx_object_array srv_views, vx_array galign_lut, vx_image output) |
[Graph] Creates a GL_SRV Node. More... | |
Macros | |
#define | TIVX_MODULE_NAME_SRV "srv" |
Name for OpenVX Extension kernel module: srv. More... | |
#define | TIVX_KERNEL_POSE_ESTIMATION_NAME "com.ti.srv.pose_estimation" |
The list of kernels supported in srv module. More... | |
#define | TIVX_KERNEL_POINT_DETECT_NAME "com.ti.srv.point_detect" |
point_detect kernel name More... | |
#define | TIVX_KERNEL_GENERATE_3DBOWL_NAME "com.ti.srv.generate_3dbowl" |
generate_3dbowl kernel name More... | |
#define | TIVX_KERNEL_GENERATE_GPULUT_NAME "com.ti.srv.generate_gpulut" |
generate_gpulut kernel name More... | |
#define | TIVX_KERNEL_GL_SRV_NAME "com.ti.srv.gl_srv" |
gl_srv kernel name More... | |
#define TIVX_MODULE_NAME_SRV "srv" |
Name for OpenVX Extension kernel module: srv.
#define TIVX_KERNEL_POSE_ESTIMATION_NAME "com.ti.srv.pose_estimation" |
The list of kernels supported in srv module.
Each kernel listed here can be used with the vxGetKernelByName
call. When programming the parameters, use
VX_INPUT
for [in] VX_OUTPUT
for [out] VX_BIDIRECTIONAL
for [in,out]When programming the parameters, use
VX_TYPE_IMAGE
for a vx_image
in the size field of vxGetParameterByIndex
or vxSetParameterByIndex
VX_TYPE_ARRAY
for a vx_array
in the size field of vxGetParameterByIndex
or vxSetParameterByIndex
pose_estimation kernel name
#define TIVX_KERNEL_POINT_DETECT_NAME "com.ti.srv.point_detect" |
point_detect kernel name
#define TIVX_KERNEL_GENERATE_3DBOWL_NAME "com.ti.srv.generate_3dbowl" |
generate_3dbowl kernel name
#define TIVX_KERNEL_GENERATE_GPULUT_NAME "com.ti.srv.generate_gpulut" |
generate_gpulut kernel name
#define TIVX_KERNEL_GL_SRV_NAME "com.ti.srv.gl_srv" |
gl_srv kernel name
void tivxSrvLoadKernels | ( | vx_context | context | ) |
Used for the Application to load the srv kernels into the context.
void tivxSrvUnLoadKernels | ( | vx_context | context | ) |
Used for the Application to unload the srv kernels from the context.
void tivxSrvPrintPerformance | ( | vx_perf_t | performance, |
uint32_t | numPixels, | ||
const char * | testName | ||
) |
Used to print the performance of the kernels.
void tivxRegisterSrvTargetC66Kernels | ( | void | ) |
Function to register SRV Kernels on the c66 Target.
void tivxUnRegisterSrvTargetC66Kernels | ( | void | ) |
Function to un-register SRV Kernels on the c66 Target.
void tivxRegisterSrvTargetGpuKernels | ( | void | ) |
Function to register SRV Kernels on the gpu Target.
void tivxUnRegisterSrvTargetGpuKernels | ( | void | ) |
Function to un-register SRV Kernels on the gpu Target.
VX_API_ENTRY vx_node VX_API_CALL tivxPointDetectNode | ( | vx_graph | graph, |
vx_user_data_object | in_configuration, | ||
vx_user_data_object | in_ldclut, | ||
vx_image | in, | ||
vx_user_data_object | out_configuration, | ||
vx_image | buf_bwluma_frame | ||
) |
Creates a POINT_DETECT Node.
The node is the first stage of camera calibration and takes in a luma image of a calibration chart. The node detects the position of the 4 corners in each of the two regions of the chart and returns their coordinates. As such it returns 8
entries (4 corners x 2 for x & y coordinates) per ROI for a total of 2 ROIs
[in] | graph | The reference to the graph. |
[in] | in_configuration | The input object of a single params structure of the type svPointDetect_t |
[in] | in_ldclut | The input object of a single params structure of the type svLdcLut_t. Contanins lens parameters of all 4 cameras |
[in] | in | the input image in VX_DF_IMAGE_U8 format. Only Luma plane of the image is used |
[out] | out_configuration | The computed output configuration, an object of a single params structure of the type svACDetectStructFinalCorner_t |
[out] | buf_bwluma_frame | (optional) Output image in VX_DF_IMAGE_U8 format. |
TIVX_KERNEL_POINT_DETECT_NAME
vx_node
. vx_node | A node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus |
VX_API_ENTRY vx_node VX_API_CALL tivxPoseEstimationNode | ( | vx_graph | graph, |
vx_user_data_object | in_configuration, | ||
vx_user_data_object | in_ldclut, | ||
vx_object_array | in_corner_points, | ||
vx_user_data_object | out_calmat | ||
) |
Creates a POSE_ESTIMATION Node.
The node is used for generating the pose of each of the cameras in the system. The node uses the information of real world points based on the calibration chart pattern and their projection on the screen and solves a set of linear equations to determine the extrinsic pose of the camera(s)
[in] | graph | The reference to the graph. |
[in] | in_configuration | The input object of a single params structure of the type svPoseEstimation_t |
[in] | in_ldclut | The input object of a single params structure of the type svLdcLut_t. Contains lens parameters of all 4 cameras |
[in] | in_corner_points | Array of objects of a single params structure of the type svACDetectStructFinalCorner_t |
[out] | out_calmat | The Pose of the camera(s), an object of a single params structure of the type svACCalmatStruct_t |
TIVX_KERNEL_POSE_ESTIMATION_NAME
vx_node
. vx_node | A node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus |
VX_API_ENTRY vx_node VX_API_CALL tivxGenerate3DbowlNode | ( | vx_graph | graph, |
vx_user_data_object | in_configuration, | ||
vx_user_data_object | in_calmat, | ||
vx_user_data_object | in_offset, | ||
vx_array | out_lut3dxyz, | ||
vx_user_data_object | out_calmat_scaled | ||
) |
Creates a GENERATE_3DBOWL Node.
The node creates a bowl surface for geometric transformations. The existing bowl is a rectiniliear surface with elevated planes with non linear surace at the intersection of planes.
[in] | graph | The reference to the graph. |
[in] | in_configuration | The input object of a single params structure of the type svGpuLutGen_t |
[in] | in_calmat | The input object of a single params structure of the type svACCalmatStruct_t |
[in] | in_offset | The input object of a single params structure of the type svGeometric_t |
[out] | out_lut3dxyz | Output Array of type VX_TYPE_FLOAT32 |
[out] | out_calmat_scaled | The output object of a single params structure of the type svACCalmatStruct_t |
TIVX_KERNEL_GENERATE_3DBOWL_NAME
vx_node
. vx_node | A node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus |
VX_API_ENTRY vx_node VX_API_CALL tivxGenerateGpulutNode | ( | vx_graph | graph, |
vx_user_data_object | in_configuration, | ||
vx_user_data_object | in_ldclut, | ||
vx_user_data_object | in_calmat_scaled, | ||
vx_array | in_lut3dxyz, | ||
vx_array | out_gpulut3d | ||
) |
Creates a GENERATE_GPULUT Node.
The node performs the bowl surface to the physical camera mapping which is used by the GPU for geometric transformations and for rendering the surroundview output.
[in] | graph | The reference to the graph. |
[in] | in_configuration | in_configuration The input object of a single params structure of the type svGpuLutGen_t |
[in] | in_ldclut | The input object of a single params structure of the type svLdcLut_t. Contanins lens parameters of all 4 cameras |
[in] | in_calmat_scaled | The input object of a single params structure of the type svACCalmatStruct_t |
[in] | in_lut3dxyz | Input Array of type VX_TYPE_FLOAT32 |
[out] | out_gpulut3d | Output Array of type VX_TYPE_UINT16 |
TIVX_KERNEL_GENERATE_GPULUT_NAME
vx_node
. vx_node | A node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus |
VX_API_ENTRY vx_node VX_API_CALL tivxGlSrvNode | ( | vx_graph | graph, |
vx_user_data_object | configuration, | ||
vx_object_array | input, | ||
vx_object_array | srv_views, | ||
vx_array | galign_lut, | ||
vx_image | output | ||
) |
[Graph] Creates a GL_SRV Node.
The node integrates OpenGL calls to render a SRV image from four input images.
[in] | graph | The reference to the graph. |
[in] | configuration | An input object of type tivx_srv_params_t used to configure OpenGL SRV |
[in] | input | An object array of input images from a capture source which are used by OpenGL SRV |
[in] | srv_views | (optional) An array objects of type srv_coords_t used to define the SRV view |
[in] | galign_lut | (optional) A LUT used for geometric alignment. If not given, the node creates a default LUT |
[out] | output | An output SRV image created by OpenGL |
TIVX_KERNEL_GL_SRV_NAME
vx_node
. vx_node | A node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus |