1
MinQ 2022-12-27 14:51:56 +08:00
YUV 应该是和 BGR 等价的,这种东西被称作颜色模型或者色彩空间
YUV 指的是这个颜色模型用亮度 Y ,蓝色投影 U ,红色投影 V 来描述一个颜色,最早起源于电视机传输彩色信号 其他类似的还有 HSL 和印刷用的 CMYK 至于具体的 I420 啥的就是存储一个颜色时使用的数据格式 |
2
ysc3839 2022-12-27 14:53:55 +08:00
感觉说得挺明白的
https://zh.wikipedia.org/wiki/YUV#Y'UV444 “YUV444 是最逼真的格式,一格不删( 24 bits ),即每 4 个 Y ,配上 4 个 U ,还有 4 个 V ; YUV422 则是在 UV 格式上减半,即每 4 个 Y ,配 2 个 U ,2 个 V ; YUV420 则是在 UV 上减至 1/4 之格式,即每 4 个 Y ,配 1 个 U ,再配 1 个 V 。” I420 这些是内存布局,比如 NV12 是先 YY 然后 UVUV ,I420 是先 YY 然后 UU 然后 VV 。 资料的话直接去搜对应关键词即可。 |
3
MinQ 2022-12-27 14:54:11 +08:00
大部分色彩空间一般都是有历史起源的,这个维基百科上都有
存储格式一般都是为了方便存储、使用或者是压缩搞出来的不同的格式 |
4
chairuosen 2022-12-27 15:01:11 +08:00
|
5
FranzKafka95 OP @ysc3839 前面部分理解上没有什么问题,现在就是引入了“plane”这个概念,如 I420 属于 three plane ,与 NV21 属于 two plane ,本质上都属于 YUV420 ,区别在于内存排列上。暂时不能理解这样的排列方式有什么好处。另外还觉得比较烦恼的是这些名词,完全没有一个比较好理解的命名方式,遇到时都只有查资料才能进一步理解。
|
6
tool2d 2022-12-27 15:35:28 +08:00
planar 是个很古老的单词,https://en.wikipedia.org/wiki/Planar_(computer_graphics)
你不能单独拿出来看,需要和 chunky 联系在一起,才能明白意思。 总而言之,planar 就是把 RGB 分开成 3 个内存块单独保存每个通道。而 chunky 就是 RGB 通道不拆开,直接打包成一大片内存,就是普通的 BMP 那种基础格式。这两个单词是反义词。 |
7
tankeco 2022-12-27 15:52:40 +08:00
@FranzKafka95 因为后续要对图片进行操作,不同内存排布效率不一样,比如我只要对亮度进行操作,那连续的 Y 比间隔的 Y 肯定操作起来快。
|