YUV图像格式转换: YUYV 转 NV12 (YUV420SP)

本文介绍了YUYV和NV12两种YUV图像格式的采样方式、存储特点及文件大小比较,并详细阐述了从YUYV到NV12的转换原理,最后提供了实现YUV格式转换的代码示例。
摘要由CSDN通过智能技术生成

  首先确认YUYV与NV12 的采样格式, YUYV 属于YUV4:2:2采样, 而NV12属于YUV4:2:0采样。 采样方式如下图所示:
  采样方式
  实心圆表示Y分量, 空心圆表示一对U和V的分量。并且YUV图像中每一个Y分量,即表示一个像素点。
  可以很明显地看出YUV422采样中两个像素点共用一对U和V的分量, 而YUV420采样中四个像素点共用一对U和V 的分量。有了这个概念,接下来的理解将十分轻松。

  两者在存储方式上的表现如下图所示:
  存储方式对比
  在文件大小上,
  YUYV: filesize = width * height + width * height / 2 + width * height / 2
  NV12 : filesize = width * height + width * height / 4 + width * height / 4
  即同条件的 NV12 文件大小是 YUYV 的 3/4。

  那么你或许会烦躁了,怎么还不讲转化啊。别急,转换原理就是一两句话的事,上述都是铺垫。
  转换原理: YUV4:2:2 —> YUV4:2:0 Y不变,将U和V信号值在行(垂直方向)在进行一次隔行抽样。具体到YUYV 和NV12 上,则是仅需要注意存储方式的差别。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值