小驰私房菜_04_Camera2 - Image中YUV格式理解

【camera基础知识系统】【camera2】 【yuv_420_888】

 这篇文章主要讲解下面几点:

1)YUV_420_888 格式理解

2)图像处理中Stride方法理解

一、YUV_420_888 格式理解

YUV的格式网上有很多了,这里就不从YUV的具体格式展开了。这里只分享Camera2设置YUV_420_888时返回的数据格式。

如果了解YUV格式,我们知道其实YUV_420_888可以包含很多格式,比如YUV420P(I420=YU12 YV12)和YUV420SP(NV12,NV21)都可以叫做YUV_420_888。

我们知道camera2格式设置为YUV_420_888时ImageReader会得到三个Plane,分别对应y,u,v,每个Plane都有自己的规格,介绍两个Plane重要的参数:

  • getRowStride

getRowStride是每一行数据相隔的间隔。

getRowStride并不一定等于camera预览的宽度,厂商实现不同,我手头两台手机,华为P20两者相等,小米8则不相等。

比如说width=8,但getRowStride可能是10

Y1Y2Y3Y4Y5Y6Y7Y8 0 0

U1V1U2V2U3V3U4V4 0 0

所以获取对应数据就不一样,需要根据RowStride

posted @ 2023-03-28 23:37  小驰行动派  阅读(23)  评论(0编辑  收藏  举报  来源