RAW,YUV,RGB,JPEG这几个有啥关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RAW,YUV,RGB,JPEG这几个有啥关系相关的知识,希望对你有一定的参考价值。

想搞清楚从CMOS出来的数据是不是RAW数据然后再经过某种转换变为YUV或RGB,再经过压缩算法变为JPEG,MPEG等压缩格式

是的 CMOS出来的数据是和色彩空间无关的 具体数据内容和表达方式要看厂商怎么设计元件 所以不管你保存成tiff 还是jpg 都是有损形式 即使tiff是不压缩 但是色彩空间已经转化 不可逆
而且你可以发现在RAW读取工具中 比如PS的Camera RAW 是可以选择色深和色彩空间的 这个就是色彩空间的转化过程
所以说RAW是很重要的 重要的片子还是保留RAW比较好
参考技术A RAW、YUV、RGB、 RGB,JPEG都是sensor输出的四种类型,简单来说:
1、RAW RGB: sensor的每一像素对应一个彩色滤光片,滤光片按Bayer pattern分布。将每一个像素的数据直接输出,即RAW RGB data;
2、YUV: luma (Y) + chroma (UV) 格式, 一般情况下sensor支持YUV422格式,即数据格式是按Y-U-Y-V次序输出的;
3、RGB: 传统的红绿蓝格式,比如RGB565,其16-bit数据格式为5-bit R + 6-bit G + 5-bit B。G多一位,原因是人眼对绿色比较敏感;
4、JPEG: 有些sensor,特别是低分辨率的,其自带JPEG engine,可以直接输出压缩后的jpg格式的数据。
参考技术B 你想知道什么啊
他们这几个都是文件的扩展名

JavaCV开发详解之24:使用javacv保存raw视频像素格式(yuv或者rgb),并使用ffplay播放raw

javacv实战专栏目录:
JavaCV实战专栏文章目录(JavaCV速查手册)

前言

本章代码主要用于存取原始视频数据,方便流媒体开发人员检查视频像素。由于保存的raw文件没有标头,所以必须指定好视频参数,播放的时候也必须指定准确的视频参数才能正确解码数据。

参考资料

  • ffmpeg官方说明:https://ffmpeg.org/ffmpeg-formats.html#rawvideo

功能设计

  1. 以grb24为例保存raw像素文件
  2. 使用ffplay播放raw文件

模块依赖(建议使用最新依赖)

  1. 使用maven添加依赖
  <<

以上是关于RAW,YUV,RGB,JPEG这几个有啥关系的主要内容,如果未能解决你的问题,请参考以下文章

Android 图像格式HAL_PIXEL_FORMAT_* vs ImageFormt.*对应关系

我想知道 citrix 4,citrix4.5 和xenapp xendesktop xenserver 这几个有啥区别?越详细越好~~~

lcd中像素深度bpp和像素格式(比如RGB,YUV)的关系

建立了YUV/RGB/BMP/JPEG相关的开源项目,整合相关源码

建立了YUV/RGB/BMP/JPEG相关的开源项目,整合相关源码

JavaCV开发详解之24:使用javacv保存raw视频像素格式(yuv或者rgb),并使用ffplay播放raw