android 摄像头采集到的图像格式是yuv420sp,原来以为这个格式与yuv420(即I420)是同一个格式,经过测试后发现他们是属于2种不同的图像格式。
1. [代码][Java]代码
private static void YUV420SP2YUV420(byte[] yuv420sp, byte[] yuv420, int width, int height)
{
if (yuv420sp == null ||yuv420 == null)
return;
int framesize = width*height;
int i = 0, j = 0;
//copy y
for (i = 0; i < framesize; i++)
{
yuv420[i] = yuv420sp[i];
}
i = 0;
for (j = 0; j < framesize/2; j+=2)
{
yuv420[i + framesize*5/4] = yuv420sp[j+framesize];
i++;
}
i = 0;
for(j = 1; j < framesize/2;j+=2)
{
yuv420[i+framesize] = yuv420sp[j+framesize];
i++;
}
}