首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

YUV数据格式

最近在做直播视频通话、自定义采集应用,恶补了YUV格式相关的问题,这篇文章就记录一下。 介绍 YUV是一种颜色空间,基于YUV的颜色编码是流媒体的常用编码方式。...YUV是编译true-color颜色空间(color space)的种类,Y'UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠。...打包格式(packed formats):对于packed的YUV格式,每个像素点的Y,U,V是连续交替存储的,如YUV YUV YUV YUV,这种排列方式跟 RGB 很类似。...或者UV信号告诉了显示器使得某个颜色亮度依某个基准偏移。 UV的值越高,代表该像素会有更饱和的颜色。 彩色图像记录的格式,常见的有RGB、YUV、CMYK等。...将一张图片的Y、U、V数据单独显示就会如下图所示: image.png 常见YUV格式 YUV的存储格式其实与其采样的方式密切相关,主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4

1.4K40

详解YUV数据格式

我们在讲 FFmpeg 系列的时候,有提到 YUV 的。其中包括YUV播放器、简单的YUV格式介绍。 一、YUV简介 YUV,是一种颜色编码方法。常使用在各个影像处理元件中。...YUV是编译true-color颜色空间(color space)的种类,Y'UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠。...或者UV信号告诉了显示器使得某个颜色亮度依某个基准偏移。 UV的值越高,代表该像素会有更饱和的颜色。 彩色图像记录的格式,常见的有RGB、YUV、CMYK等。...先记住下面这段话,以后提取每个像素的YUV分量会用到。 YUV 4:4:4采样,每一个Y对应一组UV分量。 YUV 4:2:2采样,每两个Y共用一组UV分量。...(3) YUV422P(属于YUV422) ?

1.7K70
您找到你想要的搜索结果了吗?
是的
没有找到

Linux音视频(YUV图像数据格式

摄像头图像数据的主流封装格式是JPEG/MJPG/YUV等,这些都是经过编码压缩的数据,大大减少了图像尺寸,方便传输和存储。...拓展: YUV是视频图像数据的主流格式,它根据人类眼睛的视觉特征设计——由于人类的眼睛对亮度的敏感度比颜色要高许多,而且在RGB三原色中对绿色有尤为敏感,利用这个原理,可以把色度信息减少一点,人眼也无法查觉这一点...YUV三个字母中,其中"Y"表示明亮度(Lumina nce或Luma),也就是灰阶值,而"U"和"V"表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色...在很多技术文档中YUV还会写成YCbCr,Y指的是绿色和亮度,C是Component的首字母,b和r分别是blue和red,从这个角度出发可以认为YUV是RGB的变种。...下面是很常见的YUV422: ? 下面是压缩率更高的YUV411: ? 下面是压缩率更更高的YUV420: ?

74620

12.QT-通过QOpenGLWidget显示YUV画面,通过QOpenGLTexture纹理渲染YUV

在上章11.QT-ffmpeg+QAudioOutput实现音频播放器,我们学习了如何播放音频,接下来我们便来学习如何通过opengl来显示YUV画面 1.为什么使用QOpenGLWidget显示YUV...2.shader源码分析 首先通过ffmpeg命令提取出yuv数据: ffmpeg -i v1080.mp4 -t 10 -s 640x340 -pix_fmt yuv420p out640x340.yuv...; vec3 rgb; yuv.x = texture2D(texY, TexCoord).r; yuv.y = texture2D(texU, TexCoord).r-0.5; yuv.z = texture2D...(texY, TexCoord): 其实等价于texture()函数,第一个参数为纹理采样器,第二个参数是对应的纹理坐标,该函数就会根据当前所在纹理坐标去获取对应的颜色,然后输出到FragColor来显示颜色...; vec3 rgb; yuv.x = texture(texY, TexCoord).r; yuv.y = texture(texU, TexCoord

3.2K40

Android Bitmap转I420的坑,以及图文详解YUV420数据格式

查了好久,最终发现 libyuv里的名字和我们外面常用的正好相反,比如`libyuv::ABGRToI420`,输入的数据格式要是ARGB_8888,这应该是位高低常用读法不同。...与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题...YUV值,因为只有正确地还原了每个像素点的YUV值,才能通过YUV与RGB的转换公式提取出每个像素点的RGB值,然后显示出来。    ...对于所有YUV420图像,它们的Y值排列是完全相同的,因为只有Y的图像就是灰度图像。YUV420sp与YUV420p的数据格式它们的UV排列在原理上是完全不同的。...YUV420p数据格式如下图 ? ? ? ?

3.4K30

【音视频连载-005】基础学习篇-SDL 加载 YUV 文件并显示

在前面的文章中已经完成了图片的加载和显示,接下来要做的就是加载 YUV 文件并显示。...代码实践 有了素材,接下来就是代码实践环节: 创建纹理 SDL_Texture 与 SDL 显示图片的方式有些不同,显示图片是将图片转换成了 SDL_Surface,然后将这个 SDL_Surface...显示 YUV 文件需要创建一个纹理,然后将纹理内容渲染上屏,这类似于 OpenGL 的操作了。...运行程序就会看到打开一个窗口,显示一张图片,和之前用 FFmpeg 显示的图片内容一致。 总结 以上就是音视频基础学习连载的 005 篇。 内容相对比较简单,对于 SDL 接口的一些调用也不算难。...另外,既然已经可以显示一张 YUV 帧内容了,那么假如是一个 YUV 视频文件又该如何显示呢?想知后事如何,请看下回分解。

87100

使用libyuv对YUV数据进行缩放,旋转,镜像,裁剪等操作

2、YUV数据格式介绍 首先我们来了解什么是YUV数据,当然这方面的文章有很多,在这里我就不详细的介绍了。...在这里我们主要用到的是YUV数据格式是NV21(yuv420sp)和I420(yuv420p),它们都是 4:2:0的格式,唯一的区别就是它们的YUV数据排列不一样, NV21的排列是YYYYYYYY...其实我们知道的NV21和I420的数据格式和数据的排列,我们就可以根据排列方式对其进行一些操作,但是它的效率并不是很高,如果只是简单的操作单一的YUV数据,那么倒没有太大影响。...* @param top 裁剪的y的开始位置,必须为偶数,否则显示会有问题 **/ public static native void cropYUV(byte...因为Camera返回的YUV数据只能是NV21和YV12两种,而libyuv的缩放旋转镜像的操作需要的是I420的数据格式,那么第一步就是将NV21(例子中Camera返回数据格式设置的是NV21)转化为

4.3K20
领券