视音频数据处理入门:RGB、YUV像素数据处理

原文地址:https://blog.csdn.net/leixiaohua1020/article/details/50534150

在 YUV 色彩空间中,Y 分量代表亮度,而 U 和 V 分量则代表色度。

​​​​​​​​从代码可以看出,如果想把YUV格式像素数据变成灰度图像,只需要将U、V分量设置成128即可。

这是因为U、V是图像中的经过偏置处理的色度分量。色度分量在偏置处理前的取值范围是-128至127,这时候的无色对应的是“0”值。经过偏置后色度分量取值变成了0至255,因而此时的无色对应的就是128了。

备注:
在这里插入图片描述

如果打算将图像的亮度减半,只要将图像的每个像素的Y值取出来分别进行除以2的工作就可以了。

图像的每个Y值占用1 Byte,取值范围是0至255,对应C语言中的unsigned char数据类型。
处理前后图像对比:
在这里插入图片描述

给图像添加一个“边框”的效果: 从代码可以看出,图像的边框的宽度为border,本程序将距离图像边缘border范围内的像素的亮度分量Y的取值设置成了亮度最大值255。

在这里插入图片描述
前后对比:
在这里插入图片描述

生成YUV420P格式的灰阶测试图

在这里插入图片描述
在这里插入图片描述

本程序中的函数可以对比两张YUV图片中亮度分量Y的PSNR

在这里插入图片描述

打包/平面 两种方式:

类似于YUV420P的存储方式称为Planar方式,而类似于RGB24的存储方式称为Packed方式。

一个笔误:

在这里插入图片描述

BMP采用的是小端(Little Endian)存储方式。

BMP采用的是小端(Little Endian)存储方式。这种存储方式中“RGB24”格式的像素的分量存储的先后顺序为B、G、R。由于RGB24格式存储的顺序是R、G、B,所以需要将“R”和“B”顺序作一个调换再进行存储。
在这里插入图片描述

一个笔误:

在这里插入图片描述
此处容易产生误解:
在这里插入图片描述

在这里插入图片描述

一个无关紧要的笔误:

在这里插入图片描述

生成RGB24格式的彩条测试图在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值