常用图像像素格式 NV12、NV2、I420、YV12、YUYV
文章目錄
- 常用圖像像素格式 RGB 和 YUV
- RGB 格式
- YUV 格式
- YUV采樣
- YUV存儲格式
- 常見的像素格式
- YUV422:YUYV、YVYU、UYVY、VYUY
- YUV420:I420、YV12、NV12、NV21
常用圖像像素格式 RGB 和 YUV
近期由于項目需要,開始接觸圖像像素格式,因此在這里做一個小結。
像素格式描述了像素數據存儲所用的格式,定義了像素在內存中的編碼方式。RGB 和 YUV 為兩種經常使用的像素格式。
RGB 格式
一般較為熟悉,RGB圖像具有三個通道 R、G、B,分別對應紅、綠、藍三個分量,由三個分量的值決定顏色;通常,會給RGB圖像加一個通道alpha,即透明度,于是共有四個分量共同控制顏色。
YUV 格式
(YCrCb)是指將亮度參量Y和色度參量U/V分開表示的像素格式,主要用于優化彩色視頻信號的傳輸。
YUV像素格式來源于RGB像素格式,通過公式運算,YUV 三分量可以還原出 RGB,YUV 轉 RGB 的公式如下:
一般,將 RGB 和 YUV 的范圍均限制在 [0, 255] 間,則有如下轉換公式:
R = Y + 1.403(V - 128) G = Y - 0.344(U - 128) - 0.714(V - 128) B = Y + 1.770(U - 128)鑒于 RGB 格式已經見得見多,本文主要總結 YUV 常見的幾種像素格式。
YUV采樣
YUV 相比于 RGB 格式最大的好處是可以做到在保持圖像質量降低不明顯的前提下,減小文件大小。TUV 格式之所以能夠做到,是因為進行了采樣操作。
YUV 碼流的存儲格式與其采樣方式密切相關,主流的采樣方式有三種:YUV 4:4:4**(YUV444),YUV 4:2:2(YUV422),YUV 4:2:0(YUV420)**。
若以以黑點表示采樣該像素點的 Y 分量,以空心圓圈表示采用該像素點的 UV 分量,則這三種采樣方式如下:
即:
- YUV 4:4:4 采樣,每一個 Y 對應一組 UV 分量。
- YUV 4:2:2 采樣,每兩個 Y 共用一組 UV 分量。
- YUV 4:2:0 采樣,每四個 Y 共用一組 UV 分量。
YUV存儲格式
YUV 存儲可以分為兩種:packed(打包)和planar(平面);
-
packed:Y、U、V 分量穿插著排列,三個分量存在一個 Byte 型數組里;
-
planar:Y、U、V 分量分別存在三個 Byte 型數組中;
常見的像素格式
YUV422:YUYV、YVYU、UYVY、VYUY
這四種格式每一種又可以分為 2 類(packed和planar),以 YUYV 為例,一個 6*4 的圖像的存儲方式如下:
Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y U U U U U U Y U Y V Y U Y V Y U Y VU U U U U U Y U Y V Y U Y V Y U Y VV V V V V V Y U Y V Y U Y V Y U Y VV V V V V V Y U Y V Y U Y V Y U Y V- Planar - - Packed -YUV420:I420、YV12、NV12、NV21
- YUV420p: I420、YV12
- YUV420sp: NV12、NV21
同樣,對于一個6*4的圖像,這四種像素格式的存儲方式如下:
Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y YY Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y YY Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y YY Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y YU U U U U U V V V V V V U V U V U V V U V U V UV V V V V V U U U U U U U V U V U V V U V U V U- I420 - - YV12 - - NV12 - - NV21 -- I420、YV12 三個分量均為平面格式,即分別存在三個 Byte 型數組中;
- NV12、NV21 的存儲格式為 Y 平面,UV 打包,即 Y 信息存儲在一個數組中,UV 信息存儲在一個矩陣中。
總結
以上是生活随笔為你收集整理的常用图像像素格式 NV12、NV2、I420、YV12、YUYV的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mentor-dft 学习笔记 day1
- 下一篇: 数据挖掘—网格搜索2