YUV格式

YUV的几种格式

420P:420P数据的存放方式一般是先存放Y,然后存放U,最后存放V的数据,每一个像素使用12bits(1.5BYTE)保存。

422P:422P数据的存放方式也是先存放Y,然后存放U,最后存放V的数据,每一个像素使用16bits(2BYTE)保存。

420PSemi,422PSemi:这是TI新添加的一种格式,在DM6467的输出当中使用的是422PSemi来进行输出,所以将YUV的数据输出之前都需要将其他格式的YUV数据转换为422PSemi格式。

这两种格式所占用的存储空间分别和420P, 422P所占的存储空间一致。

420PSemi:先存放Y的数据,接着U和V的数据交叉存放,对于422PSemi也是一样。

 

举个例子:

对于30*20像素的420P的YUV数据,在存储的时候会先存30*20字节的Y,然后存放15*10字节的U,最后存放15*10的V。

如果是420PSemi,那么会先存放30*20字节的Y,接着U和V会交叉存放,分别存放15*10字节,这样420P和420PSemi所占空间均为30*20*3/2字节。

 

YUV格式简介

YUV主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB要求三个独立的视频信号同时传输)。其中 “Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是透过RGB输入信号来建立的,方 法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面─色调与饱和度,分别用Cr和CB来表示。其中,Cr反映了RGB输入信号红色部 分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之同的差异。

采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。如果只有Y信号分量而 没有U、V分量,那么这样表示的图像就是黑白灰度图像。彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机 也能接收彩色电视信号。

 

在TI的DMAI框架中,对于OMAP3530,视频输出的时候使用的是V4L2_PIX_FMT_YUYV (’YUYV’), 而DM6467采用的是V4L2_PIX_FMT_YUV422UVP。

下面的话是从DMAI的ColorSpace.h中摘出来的:

    /**

      * @brief YUV 422 semi planar corresponding to V4L2_PIX_FMT_YUV422UVP. This

      *        format was added to v4l2 by TI because the dm6467 VDCE and VPSS

      *        peripherals use this format. The format consists of two planes:

      *        one with the Y component and one with the CbCr components

      *        interleaved (hence semi) See the LSP VDCE documentation for a

      *        thorough description of this format.

      */

 

而我们在使用YUVPlayer的时候,只有420P, 422P等能够播放,而420PSemi和422PSemi不能播放,所以在存储和读取的时候需要转换,下面是一个转化函数:

void yuv_420p_to_420psemi(int32_t height, int32_t width, int32_t lineLength, char *src, char *dst)

{

         int32_t i, j;

         int32_t size;

         int32_t quarter_size;

 

         size = height * lineLength;

         quarter_size = size / 4;

 

         /* copy Y */

         for (i=0; i<height; i++)

         {

                   for (j=0; j<width; j++)

                   {

                            memcpy(dst, src, width);

                   }

                   dst += lineLength;

                   src += width;

         }

 

         /* copy Cb */

         for (i=0; i<height/2; i++)

         {

                   for (j=0; j<width; j += 2)

                   {

                            *(dst+j+i*lineLength) = *src++;

                   }

         }

 

         /* copy Cr */

         for (i=0; i<height/2; i++)

         {

                   for (j=1; j<width; j += 2)

                   {

                            *(dst+j+i*lineLength) = *src++;

                   }

         }      

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: YUV格式的图像通常是用于视频处理的,其中Y表示亮度分量,U和V表示颜色分量。这种图像格式在计算机视觉、数字信号处理、视频压缩等领域中广泛使用。下面介绍几种常见的打开YUV格式图像的方法。 1. 使用视频播放器:常见的视频播放器如Potplayer、VLC等都支持打开YUV格式的图像文件,只需将文件拖动到播放器窗口即可打开。 2. 使用Matlab:Matlab是一种常见的科学计算软件,也可以用于图像处理。在Matlab中打开YUV格式图像需要使用`yuvread()`函数,该函数可以读取和显示YUV格式的文件。 3. 使用Python:Python是一种常见的编程语言,也可以用于图像处理。使用Python打开YUV格式图像需要使用相应的库,如OpenCV或PyAV等,同时需要编写相应的代码实现图像的读取和显示。 无论是使用视频播放器、Matlab还是Python,打开YUV格式图像都需要注意一些细节。例如,需要确定图像的尺寸和颜色空间,不同的YUV格式可能会有不同的解码方式,需要根据具体的需要进行相应的设置和调整。 ### 回答2: YUV是一种用于存储图像或视频的格式,在计算机图形和多媒体处理中应用广泛。下面是一个简单的步骤,告诉您如何打开YUV格式的图像。 首先,您需要一个图像查看器或多媒体播放器,它支持YUV格式。一些常见的软件包括VLC媒体播放器、PotPlayer、Photoshop和FFmpeg工具等。 其次,确保您已经将需要打开的YUV文件保存在计算机的某个位置。通常,YUV图像文件的扩展名为.yuv。 接下来,打开您选择的图像查看器或多媒体播放器。对于VLC媒体播放器,您只需点击"媒体"菜单中的"打开文件"选项,然后选择要打开的YUV文件。 对于PotPlayer,您可以使用类似的方法。单击"文件"菜单,然后选择"打开"选项,找到YUV文件并点击"打开"。 如果您想使用Photoshop打开YUV文件,可以选择文件菜单中的"打开"选项,并选择YUV文件。在打开对话框中,您还可以选择将其打开为灰度图像、RGB图像或其他特定颜色空间的图像。 另外,您还可以使用FFmpeg工具在命令行中打开YUV文件。您可以编写一个简单的命令,指定输入文件和所需的输出格式。例如,"ffmpeg -s 1920x1080 -i input.yuv output.png"可以将YUV文件转换为PNG图像。 最后,一旦您成功打开了YUV格式的图像文件,您可以使用相应的软件进行浏览、编辑、处理或转换等操作,以满足您的需要。 总而言之,打开YUV格式图像需要一个支持该格式的软件,并根据软件的指导打开文件。 ### 回答3: YUV格式是一种用于存储彩色图像的文件格式,常用于视频压缩和流媒体传输。要打开YUV格式的图像,可以按照以下步骤进行。 首先,需要一个支持YUV格式的图像编辑软件或播放器。常见的软件包括Adobe Premiere、VirtualDub和VLC媒体播放器等。在电脑上安装这些软件后,可以直接打开YUV文件。 另外,还可以通过使用YUV转换工具将YUV文件转换为其他常见的图像格式,例如JPEG或PNG。这些转换工具可以在互联网上找到,并且有多个免费和付费的选项可供选择。 打开YUV格式图像时,可以选择加载整个图像或者仅选择加载其中的部分区域。然后,可以使用软件提供的功能来编辑图像,如调整亮度和对比度、改变颜色饱和度、添加滤镜效果等。 需要注意的是,YUV格式图像通常由分为亮度(Y)和色度(UV)两个分量组成,因此在查看或编辑YUV图像时,确保正确理解和处理这些分量是非常重要的。 总结起来,要打开YUV格式图像,可以通过使用支持YUV格式的软件或转换工具,或者将文件转换为其他常见的图像格式来实现。在打开和处理YUV图像时,需要注意其分量的特性,以便正确对图像进行查看和编辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值