屏幕为黑色yuv值怎么设置

简介: 屏幕为黑色yuv值怎么设置

上篇文章讲了静默认的时候pcm值怎么设置,这篇讲讲屏幕是黑屏时,yuv值怎么设置。

当我们想让yuv设置为一个颜色的时候,我们往往先关注对应的rgb值,因为rgb值比较常用,三原色组成各种颜色的原理更易理解。找到对应的rgb值然后再转换为yuv值。

   白色:rgb(255,255,255)
   黑色:rgb(0,0,0)
   红色:rgb(255,0,0)
   绿色:rgb(0,255,0)
   蓝色:rgb(0,0,255)
   青色:rgb(0,255,255)
   紫色:rgb(255,0,255)


可以看到黑色时rgb值都为0。

这里举例uyvy422<—>grb互相转换公式,其他的yuv格式原理相同。

Y = 0.257R + 0.504G + 0.098B + 16

Cb= -0.148R - 0.291G + 0.439B + 128

Cr= 0.439R - 0.368G - 0.071B + 128

R = 1.164(Y-16) + 1.596*(Cr-128)

G = 1.164*(Y-16) - 0.813*(Cr-128) - 0.392*(Cb-128)

B = 1.164*(Y-16) + 2.017*(Cb-128)

注意uyvy422是packet模式在内存中是交叉存储的,如下:

u,y,v,y,u,y,v,y…

以上每个分量就像rgb一样占一个字节存储。关于yuv的planar格式和packet存储格式之前的博客有讲解。

因此想让uyvy422为黑色:

u = 128

y = 16

v = 128

for(int i = 0; i < height * width * 2; i = i + 4)
{
  char_buf[i] = 128;
  char_buf[i + 1] = 16;
  char_buf[i + 2] = 128;
  char_buf[i + 3] = 16;
}


其中height x width x 2是因为:

yuv444占height x width x 3个字节

yuv422占height x width x 2个字节

yuv420占height x width x 1.5个字节

这部分之前的博客有详细的解释。

以上实测有效。


thxchtb3wcn3k_d11fc1ff3db9431d8ad7575e9297ae48.png

相关文章
|
数据安全/隐私保护 块存储
|
存储 算法 编译器
【Linux 应用开发 】交叉编译的浮点数处理问题:从表象到底层原理的探索与解决
【Linux 应用开发 】交叉编译的浮点数处理问题:从表象到底层原理的探索与解决
429 1
|
Java Unix 程序员
【OS Ctags】Vim 代码阅读工具 Ctags
【OS Ctags】Vim 代码阅读工具 Ctags
413 0
【OS Ctags】Vim 代码阅读工具 Ctags
linux实用技巧:cp时自动将软链接所指定的文件实体也一起copy(软链接将会变成目标文件实体)
linux实用技巧:cp时自动将软链接所指定的文件实体也一起copy(软链接将会变成目标文件实体)
linux实用技巧:cp时自动将软链接所指定的文件实体也一起copy(软链接将会变成目标文件实体)
|
Python Windows
【错误记录】Mac 中 Python 报错 ( ERROR: Could not build wheels for numpy which use PEP 517 | 问题未解决 | 问题记录 )(一)
【错误记录】Mac 中 Python 报错 ( ERROR: Could not build wheels for numpy which use PEP 517 | 问题未解决 | 问题记录 )(一)
2361 0
【错误记录】Mac 中 Python 报错 ( ERROR: Could not build wheels for numpy which use PEP 517 | 问题未解决 | 问题记录 )(一)
|
算法 安全 Linux
Linux 裁剪并交叉编译openssl库
Linux 裁剪并交叉编译openssl库
785 1
|
存储 传感器 编解码
图像格式:常见图像格式RAW, RGB, YUV&&图像格式的解析、格式转换和看图软件
图像格式:常见图像格式RAW, RGB, YUV&&图像格式的解析、格式转换和看图软件
4136 1
|
存储 人工智能 C++
【重学C++】【指针】详解让人迷茫的指针数组和数组指针
【重学C++】【指针】详解让人迷茫的指针数组和数组指针
669 1
|
XML 存储 NoSQL
内存泄漏检测工具valgrind神器
内存泄漏检测工具valgrind神器
341 0