2010-10-27 64 views
3

下面是將RGB轉換爲YCbCr的矩陣。你能告訴我如何獲得公式將YCbCr轉換爲RGB? 我的意思是,我有YCbCr值可用,我想從它得到RGB。 RGB to YUV Image矩陣表中的YCbCr到RGB

+0

您的意思是「將RGB轉換爲YCbCr」?你在問*公式如何派生?否則,我認爲你回答了你自己的問題。 – 2010-10-27 10:50:58

+0

@Steve:是的,我在問公式如何得出?很長一段時間我做矩陣數學。 – SunnyShah 2010-10-27 10:51:46

+0

這是作業嗎? – Jacob 2010-10-27 14:44:09

回答

1
Y = 0.2126*(219/255)*R + 0.7152(219/255)*G + 0.0722*(219/255)*B + 16 
CB = -0.2126/1.18556*(224/255)*R - 0.7152/1.8556(224/255)*G + 0.5*(219/255)*B + 128 
CR = 0.5*(224/255)*R - 0.7152/1.5748(224/255)*G - 0.0722/1.5748*(224/255)*B + 128 
+0

感謝您的快速回答,但問題是如何讓YCbCr轉換爲RGB轉換。 – SunnyShah 2010-10-27 10:53:13

+0

你爲什麼不滿意這個公式? – user434507 2010-10-27 10:54:18

+0

我的意思是我有YCbCr可用,我想將它轉換爲RGB。 – SunnyShah 2010-10-27 10:56:15

1

http://www.fourcc.org/fccyvrgb.php有YUV到RGB轉換。

+0

我有YCbCr aleready可用,我只需要一個公式將YCbCr轉換爲RGB。該公式應基於上表。 – SunnyShah 2010-10-27 11:19:22

+0

@孫尼,你檢查了鏈接嗎?這兩個公式都可用。 – 2010-10-27 15:01:54

+0

@Mark Ransom,但我想只從上述矩陣派生的公式。 – SunnyShah 2010-10-27 16:25:32

4

如果您問的是如何導出公式,您可能需要搜索「色座標系」。 This page特別對YCbCr空間進行了很好的討論。

我們知道幾乎任何顏色都可以表示爲紅色,綠色和藍色的線性組合。但是,您可以轉換(或「旋轉」)該座標系,以使三個基本元素不再是RGB,而是其他內容。在YCbCr的情況下,Y層是亮度層,Cb和Cr是兩個色度層。 Cb與藍色更密切相關,Cr與紅色更密切相關。

YCbCr通常是首選,因爲人類視覺系統對亮度變化比色度變化更爲敏感。因此,諸如JPEG的圖像編碼器可以比亮度層更多地壓縮兩個色度層,導致更高的壓縮比。

編輯:我誤解了這個問題。 (您應該編輯它澄清。)這裏是公式,從得到的YCbCr RGB,從above link採取:

r = 1.0 * y' + 0 * cB + 1.402 * cR 
g = 1.0 * y' - 0.344136 * cB - 0.714136 * cR 
b = 1.0 * y' + 1.772 * cB + 0 * cR 
+0

我有YCbCr aleready可用,我只需要一個公式將YCbCr轉換爲RGB。該公式應基於上表。 – SunnyShah 2010-10-27 11:42:58

+0

尼斯鏈接,但公式並不完全正確 - 正如所述,它的值爲0.0-1.0,而不是0-255。 – 2010-10-27 14:52:20

+0

是的,好點。該鏈接還包含[0,255]的額外(但簡單)修改。 – 2010-10-27 15:31:04

2

我不會佔round部分,但由於M看起來可逆:

alt text

您可以將生成的向量四捨五入。