求有 CV 方面的朋友帮忙解释这个 WIKI 页面的含义

2022-12-27 14:40:12 +08:00
 FranzKafka95
WIKI 详情页: https://wiki.videolan.org/YUV#Planar_formats

被这些 YUV444 ,422 ,420 概念搞得头都昏了。

YUV444 ,YUV422 ,YUV420 这三个概念应该是从采样层面进行区分的。

而 I420,I420A,NV21,NV12 这几个概念应该是从数据存储层面进行区分的。

想不懂这个东西为什么会有这么多复杂且难以理解的名词,想问一下各位朋友有什么好的资料学习吗
1588 次点击
所在节点    程序员
7 条回复
MinQ
2022-12-27 14:51:56 +08:00
YUV 应该是和 BGR 等价的,这种东西被称作颜色模型或者色彩空间
YUV 指的是这个颜色模型用亮度 Y ,蓝色投影 U ,红色投影 V 来描述一个颜色,最早起源于电视机传输彩色信号
其他类似的还有 HSL 和印刷用的 CMYK
至于具体的 I420 啥的就是存储一个颜色时使用的数据格式
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 。

资料的话直接去搜对应关键词即可。
MinQ
2022-12-27 14:54:11 +08:00
大部分色彩空间一般都是有历史起源的,这个维基百科上都有
存储格式一般都是为了方便存储、使用或者是压缩搞出来的不同的格式
chairuosen
2022-12-27 15:01:11 +08:00
FranzKafka95
2022-12-27 15:02:25 +08:00
@ysc3839 前面部分理解上没有什么问题,现在就是引入了“plane”这个概念,如 I420 属于 three plane ,与 NV21 属于 two plane ,本质上都属于 YUV420 ,区别在于内存排列上。暂时不能理解这样的排列方式有什么好处。另外还觉得比较烦恼的是这些名词,完全没有一个比较好理解的命名方式,遇到时都只有查资料才能进一步理解。
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 那种基础格式。这两个单词是反义词。
tankeco
2022-12-27 15:52:40 +08:00
@FranzKafka95 因为后续要对图片进行操作,不同内存排布效率不一样,比如我只要对亮度进行操作,那连续的 Y 比间隔的 Y 肯定操作起来快。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/904944

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX