网站的排名和什么因素有关系,资源网源码,top域名的网站打不开,文化管 网站建设规划总结各种RGB转YUV的转换公式
如果数据位宽都以8位来说.ITU709:允许 0~255之间所有数据 ITU601:只允许 16~235之间数据,
601是SDTV的数据结构#xff1b; 656是SDTV的interface 709是HDTV的数据结构 #xff1b;1120是HDTV的interface
最近在学习视频的颜色空间转换#x…总结各种RGB转YUV的转换公式
如果数据位宽都以8位来说.ITU709:允许 0~255之间所有数据 ITU601:只允许 16~235之间数据,
601是SDTV的数据结构 656是SDTV的interface 709是HDTV的数据结构 1120是HDTV的interface
最近在学习视频的颜色空间转换由于摄像机拍出来的视频很多都是用YUV格式保存的而颜色空间的转换必须在RGB颜色模型上才能完成所以第一步自然就是将YUV颜色模型转成RGB颜色模型。在网上查到了许多的YUV与RGB互转的公式但是总觉得有些杂乱没有系统的总结。
首先说一说YUV颜色模型单单就YUV颜色模型来说就有很多中叫法而且总是让人颇感困惑。一般来讲我们把YUV、YUV、YCbCr, YPbPr包含在YUV颜色模型的范围内其中Y都表示亮度UV表示两个色度分量但是具体的颜色模型的用途又各不相同当然他们与RGB的互转公式也就不尽相同。那就先说说这些不同叫法的YUV的用途和由来。在电视系统发展的早期YUV和YUV都是颜色信息的模拟信号编码形式虽然Y和Y都表示亮度但是两种亮度的意义却天差地别Y用来代指luminance,表示的是自然颜色的亮度而Y代指luma表示的是经过伽马压缩之后电信号的强度。在现在的计算机系统中YUV一般用来代指YCbCr,用来表示文件的编码格式用于数字视频的编码而YPbPr颜色模型常常用在模拟分量视频中。所以YUV颜色模型到RGB颜色模型的转换应该对应两种方式分别是模拟YUV-模拟RGB、数字YUV-数字RGB。不过因为标清、高清、以及超清幅面YUV转RGB的权重值各不相同需要将模拟信号和数字信号再做一次幅面划分就出现了2*3 66中转换公式。
1.模拟YUV-模拟RGB 1) BT601(标清国际定义) 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 数字YUV-数字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***********************************//
至于超清幅面的计算公式大家可以按照下面的推导方式自己推导一下。
模拟RGB转YUV的推导公式 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); 数字RGB转YUV的推导公式 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