海外网站营销潍坊中脉网站建设公司
news/
2025/9/23 2:10:39/
文章来源:
海外网站营销,潍坊中脉网站建设公司,网站质作,哈尔滨专业的建站报价本篇主要讲YUV与RGB之间的转换#xff0c;包括YUV444 颜色编码格式 转为 RGB 格式 #xff0c;RGB颜色编码格式转为 YUV444 格式。 一、 YUV与RGB之间的转换 YUV与RGB颜色格式之间进行转换时 , 涉及一系列的数学运算 ; YUV 颜色编码格式转为RGB格式的转换公式 取决于 于 YUV …本篇主要讲YUV与RGB之间的转换包括YUV444 颜色编码格式 转为 RGB 格式 RGB颜色编码格式转为 YUV444 格式。 一、 YUV与RGB之间的转换 YUV与RGB颜色格式之间进行转换时 , 涉及一系列的数学运算 ; YUV 颜色编码格式转为RGB格式的转换公式 取决于 于 YUV 的具体子采样格式 :
YUV444YUV422YUV420
1、YUV444颜色格式转为RGB格式的转换公式如下 : R Y 1.13983 * (V - 128) G Y - 0.39465 * (U - 128) - 0.58060 * (V - 128) B Y 2.03211 * (U - 128) 公式中UV 色度值分量减去 128 , 是因为这两个分量都是从中心值 ( 256 / 2 128 ) 进行偏移的 , 计算时需要先将这个偏移量减去 , 然后将其转换到正确的范围中 ; 上述计算的颜色位深度 是 8 bit , 也就是1字节 , 取值范围是 0 ~ 255 , 有 256 个值 , 128 的偏移量也就是这个值的中间值 ; 如果计算出来的 RGB分量小于 0 , 则取 0 值 ; 如果计算出来的 RGB分量大于255 , 则取 255 ; 如果 YUV 解码错误 , 导致三个分量的值都是 0 , 则最终计算时 , 得到如下 3 个 RGB 分量值 ; 若计算出来RGB分量小于 0 , 则取0值 , 因此R和B分量都是0 , 只有G的分量是135.45984 , 屏幕显示绿色 。 2、RGB 颜色格式转为YUV444 格式的转换公式如下 Y 0.299 * R 0.587 * G 0.114 * B U -0.14713 * R - 0.28886 * G 0.436 * B 128 V 0.615 * R - 0.51498 * G - 0.10001 * B 128 UV 分量在计算后增加一个中间值偏移量 , 这个中间值一般是256的一半 128 , 确保UV值在合适范围之内 ; 上述计算颜色位深度是8bit , 也就是1字节 , 取值范围是 0 ~ 255 , 有256个值 , 128的偏移量也就是这个值的中间值 ; 3、YUV 格式各分量的取值范围 广播电视标准 : BT601标准 , BT709标准 , BT2020标准 Y 分量取值范围 : 16 ~ 235 UV分量取值范围 : 16 ~ 240 ;在FFmpeg中 , 这种范围称为 MPEG 范围 这类标准是在电视信号中使用的 ; 计算机标准 : 在FFmpeg中, 这种范围称为 JPEG 范围 YUV分量取值范围 : 0 ~ 255 这类标准是在计算机 中使用的。 4、转换函数库 实际使用时 , RGB与YUV 编码格式转换 , 都调用接口实现 , 如 FFmpeg 的 swscale 库 , 或者 libyuv 库 ; FFmpeg的swscale 库是用于图像缩放和像素格式转换的库 , 该函数库提供了 高度优化的函数 , 用于在不同的像素格式之间进行转换 , 以及进行图像的大小调整 ; libyuv库是Google 提供的一个用于处理YUV和RGB 图像数据之间转换的跨平台库 , 该函数库 支持各种YUV格式与RGB 格式之间的相互转换 , 以及图像的缩放、旋转和裁剪等操作 ;
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/911081.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!