Q: 为什么YUV 全为0 的图像是绿色的

A: 图像中常见的颜色编码有两种方式。

1. YUV - 灰度(亮度) + 色差分量

2. RGB - 红绿蓝 三色分量

通常电视, 视频等都采用yuv编码方式, 由于人类对灰度/亮度比较敏感,  而对色差分量不是很敏感。

所以通过yuv编码方式,  可以减少U, V 也即Cb, Cr分量的数量。

故yuv编码方式常见有 YUV 4:4:4, 4:2:2, 4:2:0, 4:1:1, 4:0:0

其中4:4:4 就是完全没压缩的。

4:0:0为完全没有色差分量的, 即我们以前的黑白电视^^

其他都是压缩了部分UV色差分量的。

具体格式可参考fourcc等网站。(后续补充详细)

比如

https://www.fourcc.org/

https://www.jianshu.com/p/6a361e86ccd5

http://liuyang1.github.io/2015/12/29/yuv/


关于YUV全0的图像是绿色图像的原因?

需要提下yuv和rgb之间的转换公式。

根据协议/规范不同, 有挺多种转换公式。

可参考

https://www.fourcc.org/fccyvrgb.php

我取其中一种试试看...

YUV和RGB的转换:Y = 0.299 R + 0.587 G + 0.114 BU = -0.1687 R - 0.3313 G + 0.5 B + 128V = 0.5 R - 0.4187 G - 0.0813 B + 128R = Y + 1.402 (V-128)G= Y - 0.34414 (U-128) - 0.71414 (V-128)B= Y + 1.772 (U-128)

将YUV全0带入公式2,

得出

R = 1.402 * (-128) = -126.598

G = -0.34414(-128) - 0.71414(-128) = 44.04992 + 91.40992 = 135.45984

B = 1.772 * (-128) = -126.228

ok, 差不多就是R = -126, G = 135, B = -126

其中RGB有取值范围, 都是[0, 255]

所以最后就是R=0, G=135, B=0

查看颜色表...

嗯, 是一种深绿色, 和电视和视频种经常会遇到的那种绿色一样!!

为什么YUV全为0的图像是绿色的相关推荐

  1. 【Android FFMPEG 开发】FFMPEG AVFrame 图像格式转换 YUV - RGBA ( 获取 SwsContext | 初始化图像数据存储内存 | 图像格式转换 )

    文章目录 I . FFMPEG AVFrame 图像数据帧处理 前置操作 II . FFMPEG 解码 AVPacket 数据到 AVFrame 流程 III. FFMPEG 解码前后的图像格式 IV ...

  2. pandas删除dataframe中行内容全是0的数据行(remove rows with all zeros in dataframe)

    pandas删除dataframe中行内容全是0的数据行(remove rows with all zeros in dataframe) 目录 pandas删除dataframe中行内容全是0的数据 ...

  3. pandas创建内容全是0的dataframe、pandas基于随机整数、随机浮点数创建dataframe(random numbers)

    pandas创建内容全是0的dataframe.pandas基于随机整数.随机浮点数创建dataframe(random numbers) 目录 pandas创建内容全是0的dataframe.pan ...

  4. 为什么权重初始化要非对称?为什么权重初始化不能全为0?为什么初始化值不能太大或者太小?介绍下He初始化以及Xavier初始化?

    为什么权重初始化要非对称?为什么权重初始化不能全为0?为什么初始化值不能太大或者太小?介绍下He初始化以及Xavier初始化? 目录

  5. [异常解决] MPU6050启动异常读出陀螺仪和加速度计的值全为0的解决办法

    在调试一个自己做的手环,每次用keil烧写好程序运行的蓝牙.陀螺仪都是正常的.但是掉电再上电之后蓝牙是好的.陀螺仪可以读出ID但是读出的加速度和角速度数据全为0. 下面是发生问题时main函数的前面部 ...

  6. 【PAT甲级 补全前导0 vector作为函数参数】1025 PAT Ranking (25 分) Java、C++

    如何补全前导0 Java String idStr = String.format("%013d", out.id); //用0补全13位 System.out.println(i ...

  7. Relu神经网络输出预测全为0或1,对所有输入样本的预测概率也相同

    现有一个使用Relu激活函数的网络,训练过程中发现,它对所有的输入样本都输出一样的预测概率,比如二分类,对所有样本的预测概率都是[0.4,0.6].由于预测概率都一样,因此预测标签也都一样,全预测为0 ...

  8. u盘插入后计算机内没有选项,U盘插到电脑,无法读取,属性里面空间全是0是怎么回事?...

    U盘插到电脑,无法读取,属性里面空间全是0有二种情况,第一种是USB接口有问题,第二种 你的U盘已经中了病毒.想解决记得关注快启动头条号,和小编一起探讨啊. 第一种方法: 1.将准备好的快启动u盘启动 ...

  9. 水星路由器wan口ip显示0_路由器wan口状态全是0 路由器wan口状态ip为0-192路由网

    问:无线路由器WAN口状态IP全是0是怎么回事?有什么办法可以解决?路由器设置完成后,在"运行状态"下,查看到WAN口状态IP地址全部是0,如下图所示. 答:路由器WAN口状态IP ...

最新文章

  1. Swift 注释规范和文档注释
  2. [转载]细说Java反射
  3. Hive的基本操作总结
  4. RabbitMQ的5种队列_订阅模式_入门试炼_第7篇
  5. git config设置用户名_git从安装到多账户操作一套搞定(二)多账户使用
  6. ROBOTS.TXT在SEO优化中的运用(ROBOTS.TXT SEO优化实战)
  7. 用L2TP与OpenSwan构建IPSec ×××(使用X.509证书认证)
  8. php5.6 mongo 扩展,docker php5.6镜像创建,包括常用扩展安装
  9. 用python调用r包
  10. 什么是大规模集成电路计算机,大规模集成电路是什么
  11. i7 8750h支持linux,i7-9750H和i7-8750H性能对比:差距仅5%,日常使用无区别
  12. linux 安装云锁
  13. WEB-QTP随想录—李密的猜想
  14. Ubuntu18.04 鼠标键盘失灵
  15. 小目标检测的一些理解
  16. 医疗器械行业数据分析必备软件--全球可查
  17. 颜色的前世今生13·RGB显色系统详解(下)
  18. 形象标识 新松机器人_沈阳新松机器人面试体验贴!
  19. c语言检测tft是否有触摸,带有触摸数据(包括各种历史记录的全套数据)的2.4英寸TFT_LCD...
  20. 2022-2028全球汽车内部连接器行业调研及趋势分析报告

热门文章

  1. 例题5-3安迪的第一个字典 UVa10815--C++STL库映射set的应用
  2. App Store审核规则简要汇总
  3. python中for c in s是什么意思_以下程序s=3for c in Python:s=s+2print(s)的输出结果是:()...
  4. 爱奇艺、新英体育宣布成立合资公司,共造超级在线体育平台
  5. 科创人·望繁信创始人索强:中国版流程挖掘注定有完全不同的活法
  6. 【优秀论文解读】UV-SLAM: Unconstrained Line-based SLAM Using Vanishing Points for Structural Mapping
  7. centos7 访问php 该网页无法正常运作 目前无法处理此请求
  8. 链路追踪译文学习记录(Dapper!!!非原创!!!学习记录)
  9. 开源代码学习之persepolis【一】
  10. 【用于图像修复、数据增强等】结合官方代码教程,在Windows 10下运行pix2pix-tensorflow(tensorflow==1.4.0 python=3.6)