java rgb转yuv_【转】总结各种RGB转YUV的转换公式
最近在學習視頻的顏色空間轉換,由于攝像機拍出來的視頻很多都是用YUV格式保存的,而顏色空間的轉換必須在RGB顏色模型上才能完成,所以第一步自然就是將YUV顏色模型轉成RGB顏色模型。在網上查到了許多的YUV與RGB互轉的公式,但是總覺得有些雜亂,沒有系統的總結。
首先說一說YUV顏色模型,單單就YUV顏色模型來說,就有很多中叫法,而且總是讓人頗感困惑。一般來講,我們把YUV、Y`UV、YCbCr, YPbPr包含在YUV顏色模型的范圍內,其中Y都表示亮度,UV表示兩個色度分量,但是具體的顏色模型的用途又各不相同,當然,他們與RGB的互轉公式也就不盡相同。那就先說說這些不同叫法的YUV的用途和由來。在電視系統發展的早期,YUV和Y`UV都是顏色信息的模擬信號編碼形式,雖然Y和Y`都表示亮度,但是兩種亮度的意義卻天差地別,Y用來代指luminance,表示的是自然顏色的亮度,而Y`代指luma,表示的是經過伽馬壓縮之后電信號的強度。在現在的計算機系統中,YUV一般用來代指YCbCr,用來表示文件的編碼格式,用于數字視頻的編碼,而YPbPr顏色模型常常用在模擬分量視頻中。所以YUV顏色模型到RGB顏色模型的轉換,應該對應兩種方式,分別是模擬YUV->模擬RGB、數字YUV->數字RGB。不過因為標清、高清、以及超清幅面,YUV轉RGB的權重值各不相同,需要將模擬信號和數字信號再做一次幅面劃分,就出現了2*3 = 6,6中轉換公式。
1.模擬YUV->模擬RGB
1) BT601(標清國際定義)
2)BT709(高清)
2 數字YUV->數字RGB
1)BT601
2)BT709
至于超清幅面的計算公式,大家可以按照下面的推導方式自己推導一下。
模擬RGB轉YUV的推導公式 :
數字RGB轉YUV的推導公式:
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
總結
以上是生活随笔為你收集整理的java rgb转yuv_【转】总结各种RGB转YUV的转换公式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql安装步骤以及问题---解压版本
- 下一篇: 分布式数据库技术基础:分布透明性相关知识