亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? directshow中的rgb,yuv.txt

?? 介紹視頻原始格式YUV,RGB的文章。是非常好的基礎文章
?? TXT
字號:
DirectShow中常見的RGB/YUV格式
閱覽次數: 23980 
文章來源: http://hqtech.nease.net 
原文作者: 陸其明 
整理日期: 2004/12/27 
字體大小: 小
 
小知識:RGB與YUV----摘自《DirectShow實務精選》 作者:陸其明

計算機彩色顯示器顯示色彩的原理與彩色電視機一樣,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通過發射出三種不同強度的電子束,使屏幕內側覆蓋的紅、綠、藍磷光材料發光而產生色彩。這種色彩的表示方法稱為RGB色彩空間表示(它也是多媒體計算機技術中用得最多的一種色彩空間表示方法)。
根據三基色原理,任意一種色光F都可以用不同分量的R、G、B三色相加混合而成。

F = r [ R ] + g [ G ] + b [ B ]

其中,r、g、b分別為三基色參與混合的系數。當三基色分量都為0(最弱)時混合為黑色光;而當三基色分量都為k(最強)時混合為白色光。調整r、g、b三個系數的值,可以混合出介于黑色光和白色光之間的各種各樣的色光。
那么YUV又從何而來呢?在現代彩色電視系統中,通常采用三管彩色攝像機或彩色CCD攝像機進行攝像,然后把攝得的彩色圖像信號經分色、分別放大校正后得到RGB,再經過矩陣變換電路得到亮度信號Y和兩個色差信號R-Y(即U)、B-Y(即V),最后發送端將亮度和色差三個信號分別進行編碼,用同一信道發送出去。這種色彩的表示方法就是所謂的YUV色彩空間表示。
采用YUV色彩空間的重要性是它的亮度信號Y和色度信號U、V是分離的。如果只有Y信號分量而沒有U、V分量,那么這樣表示的圖像就是黑白灰度圖像。彩色電視采用YUV空間正是為了用亮度信號Y解決彩色電視機與黑白電視機的兼容問題,使黑白電視機也能接收彩色電視信號。
YUV與RGB相互轉換的公式如下(RGB取值范圍均為0-255):

Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B

R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U

在DirectShow中,常見的RGB格式有RGB1、RGB4、RGB8、RGB565、RGB555、RGB24、RGB32、ARGB32等;常見的YUV格式有YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、YUV411、YUV420等。作為視頻媒體類型的輔助說明類型(Subtype),它們對應的GUID見表2.3。

表2.3 常見的RGB和YUV格式

GUID    格式描述
MEDIASUBTYPE_RGB1    2色,每個像素用1位表示,需要調色板
MEDIASUBTYPE_RGB4    16色,每個像素用4位表示,需要調色板
MEDIASUBTYPE_RGB8    256色,每個像素用8位表示,需要調色板
MEDIASUBTYPE_RGB565    每個像素用16位表示,RGB分量分別使用5位、6位、5位
MEDIASUBTYPE_RGB555    每個像素用16位表示,RGB分量都使用5位(剩下的1位不用)
MEDIASUBTYPE_RGB24    每個像素用24位表示,RGB分量各使用8位
MEDIASUBTYPE_RGB32    每個像素用32位表示,RGB分量各使用8位(剩下的8位不用)
MEDIASUBTYPE_ARGB32    每個像素用32位表示,RGB分量各使用8位(剩下的8位用于表示Alpha通道值)
MEDIASUBTYPE_YUY2    YUY2格式,以4:2:2方式打包
MEDIASUBTYPE_YUYV    YUYV格式(實際格式與YUY2相同)
MEDIASUBTYPE_YVYU    YVYU格式,以4:2:2方式打包
MEDIASUBTYPE_UYVY    UYVY格式,以4:2:2方式打包
MEDIASUBTYPE_AYUV    帶Alpha通道的4:4:4 YUV格式
MEDIASUBTYPE_Y41P    Y41P格式,以4:1:1方式打包
MEDIASUBTYPE_Y411    Y411格式(實際格式與Y41P相同)
MEDIASUBTYPE_Y211    Y211格式
MEDIASUBTYPE_IF09    IF09格式
MEDIASUBTYPE_IYUV    IYUV格式
MEDIASUBTYPE_YV12    YV12格式
MEDIASUBTYPE_YVU9    YVU9格式

下面分別介紹各種RGB格式。

¨ RGB1、RGB4、RGB8都是調色板類型的RGB格式,在描述這些媒體類型的格式細節時,通常會在BITMAPINFOHEADER數據結構后面跟著一個調色板(定義一系列顏色)。它們的圖像數據并不是真正的顏色值,而是當前像素顏色值在調色板中的索引。以RGB1(2色位圖)為例,比如它的調色板中定義的兩種顏色值依次為0x000000(黑色)和0xFFFFFF(白色),那么圖像數據001101010111…(每個像素用1位表示)表示對應各像素的顏色為:黑黑白白黑白黑白黑白白白…。

¨ RGB565使用16位表示一個像素,這16位中的5位用于R,6位用于G,5位用于B。程序中通常使用一個字(WORD,一個字等于兩個字節)來操作一個像素。當讀出一個像素后,這個字的各個位意義如下:
     高字節              低字節
R R R R R G G G     G G G B B B B B
可以組合使用屏蔽字和移位操作來得到RGB各分量的值:

#define RGB565_MASK_RED    0xF800
#define RGB565_MASK_GREEN  0x07E0
#define RGB565_MASK_BLUE   0x001F
R = (wPixel & RGB565_MASK_RED) >> 11;   // 取值范圍0-31
G = (wPixel & RGB565_MASK_GREEN) >> 5;  // 取值范圍0-63
B =  wPixel & RGB565_MASK_BLUE;         // 取值范圍0-31

¨ RGB555是另一種16位的RGB格式,RGB分量都用5位表示(剩下的1位不用)。使用一個字讀出一個像素后,這個字的各個位意義如下:
     高字節             低字節
X R R R R G G       G G G B B B B B       (X表示不用,可以忽略)
可以組合使用屏蔽字和移位操作來得到RGB各分量的值:

#define RGB555_MASK_RED    0x7C00
#define RGB555_MASK_GREEN  0x03E0
#define RGB555_MASK_BLUE   0x001F
R = (wPixel & RGB555_MASK_RED) >> 10;   // 取值范圍0-31
G = (wPixel & RGB555_MASK_GREEN) >> 5;  // 取值范圍0-31
B =  wPixel & RGB555_MASK_BLUE;         // 取值范圍0-31

¨ RGB24使用24位來表示一個像素,RGB分量都用8位表示,取值范圍為0-255。注意在內存中RGB各分量的排列順序為:BGR BGR BGR…。通常可以使用RGBTRIPLE數據結構來操作一個像素,它的定義為:

typedef struct tagRGBTRIPLE { 
  BYTE rgbtBlue;    // 藍色分量
  BYTE rgbtGreen;   // 綠色分量
  BYTE rgbtRed;     // 紅色分量
} RGBTRIPLE;

¨ RGB32使用32位來表示一個像素,RGB分量各用去8位,剩下的8位用作Alpha通道或者不用。(ARGB32就是帶Alpha通道的RGB32。)注意在內存中RGB各分量的排列順序為:BGRA BGRA BGRA…。通常可以使用RGBQUAD數據結構來操作一個像素,它的定義為:

typedef struct tagRGBQUAD {
  BYTE    rgbBlue;      // 藍色分量
  BYTE    rgbGreen;     // 綠色分量
  BYTE    rgbRed;       // 紅色分量
  BYTE    rgbReserved;  // 保留字節(用作Alpha通道或忽略)
} RGBQUAD;

下面介紹各種YUV格式。YUV格式通常有兩大類:打包(packed)格式和平面(planar)格式。前者將YUV分量存放在同一個數組中,通常是幾個相鄰的像素組成一個宏像素(macro-pixel);而后者使用三個數組分開存放YUV三個分量,就像是一個三維平面一樣。表2.3中的YUY2到Y211都是打包格式,而IF09到YVU9都是平面格式。(注意:在介紹各種具體格式時,YUV各分量都會帶有下標,如Y0、U0、V0表示第一個像素的YUV分量,Y1、U1、V1表示第二個像素的YUV分量,以此類推。)

¨ YUY2(和YUYV)格式為每個像素保留Y分量,而UV分量在水平方向上每兩個像素采樣一次。一個宏像素為4個字節,實際表示2個像素。(4:2:2的意思為一個宏像素中有4個Y分量、2個U分量和2個V分量。)圖像數據中YUV分量排列順序如下:
Y0 U0 Y1 V0    Y2 U2 Y3 V2 …

¨ YVYU格式跟YUY2類似,只是圖像數據中YUV分量的排列順序有所不同:
Y0 V0 Y1 U0    Y2 V2 Y3 U2 …

¨ UYVY格式跟YUY2類似,只是圖像數據中YUV分量的排列順序有所不同:
U0 Y0 V0 Y1    U2 Y2 V2 Y3 …

¨ AYUV格式帶有一個Alpha通道,并且為每個像素都提取YUV分量,圖像數據格式如下:
A0 Y0 U0 V0    A1 Y1 U1 V1 …

¨ Y41P(和Y411)格式為每個像素保留Y分量,而UV分量在水平方向上每4個像素采樣一次。一個宏像素為12個字節,實際表示8個像素。圖像數據中YUV分量排列順序如下:
U0 Y0 V0 Y1    U4 Y2 V4 Y3    Y4 Y5 Y6 Y8 … 

¨ Y211格式在水平方向上Y分量每2個像素采樣一次,而UV分量每4個像素采樣一次。一個宏像素為4個字節,實際表示4個像素。圖像數據中YUV分量排列順序如下:
Y0 U0 Y2 V0    Y4 U4 Y6 V4 …

¨ YVU9格式為每個像素都提取Y分量,而在UV分量的提取時,首先將圖像分成若干個4 x 4的宏塊,然后每個宏塊提取一個U分量和一個V分量。圖像數據存儲時,首先是整幅圖像的Y分量數組,然后就跟著U分量數組,以及V分量數組。IF09格式與YVU9類似。

¨ IYUV格式為每個像素都提取Y分量,而在UV分量的提取時,首先將圖像分成若干個2 x 2的宏塊,然后每個宏塊提取一個U分量和一個V分量。YV12格式與IYUV類似。

¨ YUV411、YUV420格式多見于DV數據中,前者用于NTSC制,后者用于PAL制。YUV411為每個像素都提取Y分量,而UV分量在水平方向上每4個像素采樣一次。YUV420并非V分量采樣為0,而是跟YUV411相比,在水平方向上提高一倍色差采樣頻率,在垂直方向上以U/V間隔的方式減小一半色差采樣,如圖2.12所示。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服丝袜中文字幕亚洲| 久久精品一区蜜桃臀影院| 欧美日韩一区二区三区在线| 欧美日韩一区成人| 91精品国产福利在线观看| 精品国产1区二区| 国产精品入口麻豆原神| 香蕉av福利精品导航| 午夜精品一区二区三区三上悠亚| 成人av午夜电影| 色狠狠色狠狠综合| 欧美xxxx老人做受| 亚洲激情第一区| 狠狠色狠狠色综合系列| 色香蕉久久蜜桃| 欧美三级三级三级爽爽爽| 国产亚洲欧美一区在线观看| 亚洲精品国产无套在线观| 久久狠狠亚洲综合| 色诱视频网站一区| 久久精品一区二区三区不卡| 欧美国产一区在线| 日韩精品欧美精品| 99久久婷婷国产综合精品| 欧美高清性hdvideosex| 欧美喷水一区二区| 美女在线观看视频一区二区| 久久精品人人做人人爽人人| 婷婷久久综合九色综合伊人色| 99久久婷婷国产综合精品电影| 色哟哟亚洲精品| 亚洲曰韩产成在线| 色偷偷久久人人79超碰人人澡| 一区二区三区丝袜| 99精品欧美一区二区三区综合在线| 国产成人精品网址| 欧美精品v日韩精品v韩国精品v| 国产精品久久久久久久久动漫 | 久久99久久精品| 91久久精品网| 国产日韩av一区| 久久精品国产77777蜜臀| 欧美三级乱人伦电影| 亚洲男人的天堂在线aⅴ视频| 国产成人夜色高潮福利影视| 91精品国产欧美一区二区18| 亚洲一区视频在线观看视频| 一本色道久久加勒比精品| 国产精品久久网站| 理论片日本一区| 911精品国产一区二区在线| 亚洲国产欧美日韩另类综合 | 亚洲九九爱视频| 成人激情免费网站| 欧美国产精品劲爆| 成人激情免费视频| 欧美激情一区二区三区全黄| 国产91清纯白嫩初高中在线观看| 91麻豆精品国产91久久久更新时间 | 久久九九国产精品| 国产成人免费视频网站 | 久久99九九99精品| 精品嫩草影院久久| 精品一区二区三区免费视频| 精品捆绑美女sm三区| 亚洲国产欧美一区二区三区丁香婷| 欧美美女一区二区在线观看| 亚洲一线二线三线视频| 91精品国产aⅴ一区二区| 免费视频最近日韩| 久久这里只有精品首页| 国产高清久久久| 国产精品麻豆99久久久久久| 91捆绑美女网站| 亚洲成人av免费| 欧美一区二区三区在线电影| 久久国产麻豆精品| 国产精品日产欧美久久久久| 91麻豆国产自产在线观看| 亚洲成a人片在线观看中文| 91精品国产综合久久久久久久| 国产成人在线网站| 青青草成人在线观看| 亚洲高清免费在线| 久久这里只有精品视频网| 欧美三级韩国三级日本三斤 | 国产乱码一区二区三区| 亚洲精品高清视频在线观看| 久久久久久97三级| 欧美一区二区视频网站| 色综合久久88色综合天天6 | 午夜视频在线观看一区| 国产精品久久久久久亚洲毛片| 欧美一级生活片| 欧美丝袜自拍制服另类| 97久久精品人人做人人爽| 国产一区二区导航在线播放| 日本一区中文字幕| 亚洲国产精品麻豆| 亚洲人成人一区二区在线观看| 欧美xxxx老人做受| 欧美一级爆毛片| 欧美日韩一区二区三区四区 | 亚洲人吸女人奶水| 欧美激情一区在线观看| 久久品道一品道久久精品| 欧美一级日韩不卡播放免费| 69堂精品视频| 欧美乱熟臀69xxxxxx| 欧美日韩免费不卡视频一区二区三区| 99久久久久久| 91免费小视频| 在线中文字幕不卡| 欧日韩精品视频| 欧美色涩在线第一页| 欧美性受xxxx黑人xyx性爽| 色婷婷久久久久swag精品| 一本到不卡精品视频在线观看| 91在线国产观看| 日本丶国产丶欧美色综合| 日本高清无吗v一区| 欧美影院精品一区| 久久久精品人体av艺术| 久久精品水蜜桃av综合天堂| 国产视频一区二区在线观看| 久久亚洲综合av| 国产欧美一区二区三区在线看蜜臀| 国产视频911| 国产精品每日更新在线播放网址| 国产欧美一区在线| 亚洲精品中文字幕乱码三区 | 亚洲欧洲精品天堂一级| 中文字幕一区二区三区蜜月| 亚洲乱码国产乱码精品精98午夜| 亚洲一区影音先锋| 麻豆精品一区二区三区| 国产一区二区三区av电影| 粉嫩aⅴ一区二区三区四区| www.日本不卡| 欧美午夜在线一二页| 日韩视频一区在线观看| 国产欧美日韩另类一区| 亚洲欧美电影一区二区| 日韩av网站免费在线| 国产精品18久久久久久久久久久久| 国产·精品毛片| 欧美色偷偷大香| 久久天堂av综合合色蜜桃网| 亚洲人成网站精品片在线观看| 日日噜噜夜夜狠狠视频欧美人| 国产做a爰片久久毛片| 91香蕉视频污| 日韩欧美国产一区二区在线播放| 久久精品欧美一区二区三区不卡 | 久久精品欧美一区二区三区麻豆| 亚洲日本在线天堂| 久久精品国产一区二区三 | 成人动漫一区二区在线| 欧美亚州韩日在线看免费版国语版| 日韩欧美在线观看一区二区三区| 中文一区二区在线观看| 日韩av一区二区三区四区| bt欧美亚洲午夜电影天堂| 欧美喷潮久久久xxxxx| 日韩一区在线看| 久久99久久久欧美国产| 在线亚洲高清视频| 国产亚洲精品资源在线26u| 亚洲成a人v欧美综合天堂下载| 国产不卡高清在线观看视频| 欧美性受极品xxxx喷水| 国产精品久久三区| 久久精品国产免费| 欧美日韩在线三区| 亚洲欧美另类小说视频| 国产在线播放一区二区三区| 欧美性大战久久久久久久蜜臀| 亚洲国产精品ⅴa在线观看| 日韩国产欧美一区二区三区| 91一区一区三区| 国产日韩欧美精品在线| 日韩成人一级片| 欧美日韩国产成人在线免费| 成人免费在线播放视频| 国产91对白在线观看九色| 日韩精品一区二区三区视频| 日韩一区二区影院| 日本精品免费观看高清观看| 日韩在线一区二区| 中文字幕欧美日韩一区| 欧美曰成人黄网| 亚洲视频狠狠干| 一区二区三区免费在线观看| 国产精品香蕉一区二区三区| 日韩午夜小视频| 免费观看成人av| 91麻豆精品国产自产在线观看一区| 洋洋成人永久网站入口| 欧美亚洲高清一区二区三区不卡| 亚洲免费电影在线|