工具/软件:
您好、
我正在使用 rewrite 应用程序使用捕获节点,相机是 ar0233,它似乎是可以的,但当我写捕获节点的输出图像,似乎捕获节点不能正常工作。 它输出的图片像下面的,我是否错过了捕获节点的一些配置?

This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
您好、
我正在使用 rewrite 应用程序使用捕获节点,相机是 ar0233,它似乎是可以的,但当我写捕获节点的输出图像,似乎捕获节点不能正常工作。 它输出的图片像下面的,我是否错过了捕获节点的一些配置?

更多信息:
1.sensor 集:
vx_status set_front_cam_defaults (SensorObj *frontCam)
{
Vx_STATUS 状态= Vx_Success;
strcpy (frontCam->sensor_name、“AR0233_MAX9295_UYVY")“);
前摄像头->num_sensors_found = 0;
前凸->SENSOR_FEATURES_ENABLED = 0;
前凸->SENSOR_FEATURES_SUPPORTED = 0;
前摄像头->SENSOR_DCC_ENABLED = 0;
前摄像头->SENSOR_WDR_ENABLED = 0;
frontCam->sensor_exp_control_enabled = 0;
frontCam->SENSOR_GAIN_CONTROL_ENABLED = 0;
前凸->ch_MASK = 16;
前凸->ENABLE_LDC = 0;
前摄像头->num_camers_enabled = 1;
frontCam->uscase_option = APP_SENSOR_FEATURE_CFG_UC0;
前视->is_interactive = 0;
前凸->SENSOR_OUT_FORMAT = 1;
状态= APP_QUERI_SENSOR (FIRTCam);
返回状态;
}
2.

摄像头启动正常。
OUT 功能:
VX_STATUS 状态;
status = vxGetStatus ((vx_reference) img_arr);
IF (STATUS == Vx_Success)
{
文件*fp = fopen (file_name、“wb")“);
vx_size arr_len;
vx_int32 i、j;
IF (FP = NULL)
{
printf(“无法打开文件%s \n“、file_name);
返回 (vx_failure);
}
vxQueryObjectArray (img_arr、vx_object_array_NUMITEMS、&arr_len、sizeof (vx_size));
对于 (i = 0;i < arr_len;i++)
{
vx_rectange_t RECT;
vx_imagepatch_addressing_t image_addr;
vx_map_id map_id;
void *data_ptr;
vx_uint32 img_width;
vx_uint32 img_height;
vx_df_image df;
vx_image out_img;
vx_uint32 num_bytes = 0;
OUT_img =(vx_image) vxGetObjectArrayItem (img_arr、i);
vxQueryImage (out_img、vx_image_width、&img_width、sizeof (vx_uint32));
vxQueryImage (out_img、vx_image_height、&img_height、sizeof (vx_uint32));
vxQueryImage (out_img、vx_image_format、&df、sizeof (vx_df_image));
printf(“[capture-node] writeCaptureNodeOutput 图像格式%d、宽度%d、图像高度%d。\n“、df、img_width、img_height);
IF (df == Vx_DF_IMAGE_UYVY)
{
RECT.START_x = 0;
RECT.START_y = 0;
RECT.END_x = IMG_WIDTH;
RECT.END_y = IMG_HEIGHT;
状态= vxMapImagePatch (out_img、
矩形 (&R)
0、
&MAP_ID、
ℑ_addr、
&DATA_PTR、
Vx_READ_ONLY、
vx_memory_type_host、
Vx_NOGAP_X);
/*复制 Luma */
对于 (j = 0;j < img_height;j++)
{
num_bytes += fwrite (data_ptr、1、img_width、fp);
data_ptr += image_addr.strip_y;
}
if (num_bytes!=(img_width * img_height))
printf(“Luma bytes writed =%d、expected =%d\n“、num_bytes、img_width * img_height);
vxUnmapImagePatch (out_img、map_id);
}