我们最常见的都是基于采样的,所以如果图片的宽为,高为,在内存中占的空间为,其中前的空间存放,接着存放,最后存放。
又叫,分别在不同平面,也就是有三个平面,它是,主要分为:


- YU12格式
在也叫作,首先是所有,然后是所有,最后是所有。

- YV12格式
与基本相同,首先是所有,然后是所有,最后是所有。只要注意从适当的位置提取,都可以使用相同的算法进行处理。

YUV模型是根据一个亮度(Y分量)和两个色度(UV分量)来定义颜色空间,常见的YUV格式有YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、YUV411、YUV420等,其中比较常见的YUV420分为两种:YUV420P和YUV420SP。
我们在android平台下使用相机默认图像格式是NV21属于YUV420SP格式 YUV420SP(NV21和NV12)格式
格式的图像阵列,首先是所有,然后是或者交替存储,格式,是一种,即,但是为交错存储,而不是分为三个平面。

- NV21格式
android手机从摄像头采集的预览数据一般都是NV21,存储顺序是先存Y,再VU交替存储,存储顺序是先存,再交替存储:,以 图片为例子,占用内存为 个字节

- NV12格式
NV12与NV21类似,也属于格式,存储顺序是先存,再交替存储:,以 图片为例子,占用内存为 个字节

下面基于实例来理解

先使用将指定的图片转为格式
笔者使用的直接运行下面这段代码,分离出所需的文件
笔者使用的是,因此运行文件,需要提前安装好:,运行之后,需要先设置,否则你看到的图像可能会有问题
先看文件:(分辨率设置为510x510)

显示如下:(分辨率设置为255x255)

显示如下:(分辨率设置为255x255)

- 生成灰度图
上面的例子实际上已经生成了一个了,但是只保留了,你如果直接用查看会有问题,下面的函数将会生成一个标准的并且保留,你可能会有疑问,为什么要写入,其实你可以参考上面的,YUV数据是无法直接显示的,最终需要转成RGB显示,因此我这里是只需要保留,忽略分量的影响,因此根据上面的公式,我在就是十六进制的
- 保留Y分量(生成灰度图)
使用来播放的文件:
要注意这里的分辨率不能错

基于采样,每两个Y共用一组UV分量,一个YUV占8+4+4 = 16bits 2个字节。分离代码如下:
基于采样,每一个Y对应一组UV分量,一个YUV占8+8+8 = 24bits 3个字节。分离代码如下:
到此这篇yuv444和yuv422带宽(yuv420和yuv422 区别)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/45831.html