Hi experts,
I'm trying to display multiple images, using mosaicnode + displaynode.
I create 4 vx_image, then use vxCreateObjectArray to convert them into array, then set into mosaicnode.
However, I failed to display images while running the graph.
The images seemed to be all green.
Is there any error in how I implement this? this is the create_graph I implemented.
Thanks.
static vx_status app_create_graph(AppObj *obj) { vx_status status = VX_SUCCESS; vx_graph_parameter_queue_params_t graph_parameters_queue_params_list[2] = {0}; vx_int32 graph_parameter_index; obj->graph = vxCreateGraph(obj->context); status = vxGetStatus((vx_reference)obj->graph); if (status == VX_SUCCESS) { status = vxSetReferenceName((vx_reference)obj->graph, "app_multi_cam_graph"); APP_PRINTF("Graph create done!\n"); } vx_int32 idx = 0; obj->mosaic_in_arr1 = vxCreateObjectArray(obj->context, (vx_reference)obj->display_image1, 1); obj->mosaic_in_arr2 = vxCreateObjectArray(obj->context, (vx_reference)obj->display_image2, 1); obj->mosaic_in_arr3 = vxCreateObjectArray(obj->context, (vx_reference)obj->display_image3, 1); obj->mosaic_in_arr4 = vxCreateObjectArray(obj->context, (vx_reference)obj->display_image4, 1); obj->imgMosaicObj.input_arr[0] = obj->mosaic_in_arr1; obj->imgMosaicObj.input_arr[1] = obj->mosaic_in_arr2; obj->imgMosaicObj.input_arr[2] = obj->mosaic_in_arr3; obj->imgMosaicObj.input_arr[3] = obj->mosaic_in_arr4; obj->imgMosaicObj.num_inputs = 4; vx_image display_in_image; status = app_create_graph_img_mosaic(obj->graph, &obj->imgMosaicObj, NULL); APP_PRINTF("Img Mosaic graph done!\n"); display_in_image = obj->imgMosaicObj.output_image[0]; if(status == VX_SUCCESS) { status = app_create_graph_display1(obj->graph, &obj->displayObj, display_in_image); APP_PRINTF("Display graph done!\n"); } if(status == VX_SUCCESS) { status = vxVerifyGraph(obj->graph); } return status; }