日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

2020-11-27

發(fā)布時(shí)間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2020-11-27 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

總結(jié)各種RGB轉(zhuǎn)YUV的轉(zhuǎn)換公式

如果數(shù)據(jù)位寬都以8位來(lái)說(shuō).
ITU709:允許 0~255之間所有數(shù)據(jù)
ITU601:只允許 16~235之間數(shù)據(jù),

601是SDTV的數(shù)據(jù)結(jié)構(gòu); 656是SDTV的interface
709是HDTV的數(shù)據(jù)結(jié)構(gòu) ;1120是HDTV的interface

最近在學(xué)習(xí)視頻的顏色空間轉(zhuǎn)換,由于攝像機(jī)拍出來(lái)的視頻很多都是用YUV格式保存的,而顏色空間的轉(zhuǎn)換必須在RGB顏色模型上才能完成,所以第一步自然就是將YUV顏色模型轉(zhuǎn)成RGB顏色模型。在網(wǎng)上查到了許多的YUV與RGB互轉(zhuǎn)的公式,但是總覺(jué)得有些雜亂,沒(méi)有系統(tǒng)的總結(jié)。

首先說(shuō)一說(shuō)YUV顏色模型,單單就YUV顏色模型來(lái)說(shuō),就有很多中叫法,而且總是讓人頗感困惑。一般來(lái)講,我們把YUV、Y`UV、YCbCr, YPbPr包含在YUV顏色模型的范圍內(nèi),其中Y都表示亮度,UV表示兩個(gè)色度分量,但是具體的顏色模型的用途又各不相同,當(dāng)然,他們與RGB的互轉(zhuǎn)公式也就不盡相同。那就先說(shuō)說(shuō)這些不同叫法的YUV的用途和由來(lái)。在電視系統(tǒng)發(fā)展的早期,YUV和Y`UV都是顏色信息的模擬信號(hào)編碼形式,雖然Y和Y`都表示亮度,但是兩種亮度的意義卻天差地別,Y用來(lái)代指luminance,表示的是自然顏色的亮度,而Y`代指luma,表示的是經(jīng)過(guò)伽馬壓縮之后電信號(hào)的強(qiáng)度。在現(xiàn)在的計(jì)算機(jī)系統(tǒng)中,YUV一般用來(lái)代指YCbCr,用來(lái)表示文件的編碼格式,用于數(shù)字視頻的編碼,而YPbPr顏色模型常常用在模擬分量視頻中。所以YUV顏色模型到RGB顏色模型的轉(zhuǎn)換,應(yīng)該對(duì)應(yīng)兩種方式,分別是模擬YUV->模擬RGB、數(shù)字YUV->數(shù)字RGB。不過(guò)因?yàn)闃?biāo)清、高清、以及超清幅面,YUV轉(zhuǎn)RGB的權(quán)重值各不相同,需要將模擬信號(hào)和數(shù)字信號(hào)再做一次幅面劃分,就出現(xiàn)了2*3 = 6,6中轉(zhuǎn)換公式。

1.模擬YUV->模擬RGB

  1) BT601(標(biāo)清國(guó)際定義)

1

2

3

4

5

6

7

8

//*********************BT601***********************************//

//? Y = 0.299 * R + 0.587 * G + 0.114 * B?????????      //

// Pb =-0.169 * R - 0.331 * G + 0.500 * B????????????????? //

// Pr = 0.500 * R - 0.439 * G - 0.081 * B????????????????? //

//? R = Y + 1.402* Pr???????????????????              //

//? G = Y - 0.344 * Pb? - 0.792* Pr                 //

//? B = Y + 1.772 * Pb???????????????????              //

//*********************BT601***********************************//

  2)BT709(高清)

1

2

3

4

5

6

7

8

//*********************BT601***********************************//

//? Y = 0.213 * R + 0.715 * G + 0.072 * B????????     ? //

// Pb =-0.115 * R - 0.385 * G + 0.500 * B????????????????? //

// Pr = 0.500 * R - 0.454 * G - 0.046 * B????????????????? //

//? R = Y + 1.402* Cr???????????????????              //

//? G = Y - 0.344 * Cb? - 0.792* Cr                 //

//? B = Y + 1.772 * Cb???????????????????              //

//*********************BT601***********************************//

2 數(shù)字YUV->數(shù)字RGB

  1)BT601

1

2

3

4

5

6

7

8

//*********************BT601***********************************//

//? Y = 16? + 0.257 * R + 0.504 * g + 0.098 * b??????????????? //

// Cb = 128 - 0.148 * R - 0.291 * g + 0.439 * b??????????????? //

// Cr = 128 + 0.439 * R - 0.368 * g - 0.071 * b??????????????? //

//? R = 1.164 *(Y - 16) + 1.596 *(Cr - 128)??????????????????? //

//? G = 1.164 *(Y - 16) - 0.392 *(Cb - 128) - 0.812 *(Cr - 128)//

//? B = 1.164 *(Y - 16) + 2.016 *(Cb - 128)??????????????????? //

//*********************BT601***********************************//

  2)BT709

1

2

3

4

5

6

7

8

//*********************BT709***********************************//

//? Y = 16? + 0.183 * R + 0.614 * g + 0.062 * b??????????????? //

// Cb = 128 - 0.101 * R - 0.339 * g + 0.439 * b??????????????? //

// Cr = 128 + 0.439 * R - 0.399 * g - 0.040 * b??????????????? //

//? R = 1.164 *(Y - 16) + 1.792 *(Cr - 128)??????????????????? //

//? G = 1.164 *(Y - 16) - 0.213 *(Cb - 128) - 0.534 *(Cr - 128)//

//? B = 1.164 *(Y - 16) + 2.114 *(Cb - 128)??????????????????? //

//*********************BT709***********************************//

至于超清幅面的計(jì)算公式,大家可以按照下面的推導(dǎo)方式自己推導(dǎo)一下。

模擬RGB轉(zhuǎn)YUV的推導(dǎo)公式 :?

1

2

3

4

Wr + Wg + Wb = 1; UMax = 0.5; VMax = 0.5

Y? = Wr * R + Wg * G + Wb * B;

Pb = Umax * (B - Y) / (1 - Wb);

Pr = Vmax * (R - Y) / (1 - Wr);

  

數(shù)字RGB轉(zhuǎn)YUV的推導(dǎo)公式:

1

2

3

4

Wr + Wg + Wb = 1; Umax = Vmax = 0.5;

Y = 16 + 219 * (Wr * R? + Wg * G + Wb * B)?? / 255;

Cb = 128 + 224 * (Umax * (B - Y) / (1 - Wb)) / 255;

Cr = 128 + 224 * (Vmax * (R - Y) / (1 - Wr)) / 255;

  

BT601 Wr = 0.299 Wg = 0.587 Wb = 0.114

BT709 Wr? = 0.2126 Wg = 0.7152 Wb = 0.0722

BT2020 Wr = 0.2627 Wg = 0.678 Wb = 0.0593

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的2020-11-27的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。