bendangth 2015-07-31 03:13 采纳率: 0%
浏览 2434
已结题

关于yuv420数据读取的问题

目前,y数据可以成功读取出来,就是uv数据出问题。出现的图片有些纵向压缩一半,不知道怎么回事,我调试代码,感觉没有错哈!代码如下:

    pdata=ive_420_img->pu8VirAddr[1];
        qdata=ive_444_img->pu8VirAddr[1];
        for(HI_U16 i=0;i<ive_420_img->u16Height;i++)
        {

            for(HI_U16 j=0;j<ive_420_img->u16Stride[0];j++)
            {

                y_index=i*ive_420_img->u16Stride[0]+j;
                uv_index=(i>>1)*(ive_420_img->u16Stride[0]>>1)+(j>>1);

                qdata[y_index]=pdata[uv_index];

            }

        }


上面代码的意思是,将YUV420转化为YUV444,其中pdata直接指向的是420的U数据(源数据),qdata指向的是444的U数据(目的数据)。我用opencv显示U分量数据,结果见下:

(对不起图像传不上去:纵向压缩:正确转化后的坐标为(x,y),但是目前却显示在了(x,y/2)的位置,图像的分辨率不变,其余部分是以灰色填充的。大家帮忙分析一下什么问题?

  • 写回答

2条回答 默认 最新

  • 就是个玩耳机的 2015-07-31 03:49
    关注

    YUV420 转YUV444 纵向每隔一行需要插值

    评论

报告相同问题?