YUV以及RGB所占内存大小

2024-05-04 03:18
文章标签 rgb yuv 内存大小

本文主要是介绍YUV以及RGB所占内存大小,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RGBA的大小是width*height*4, width*height*(32/8)

YUV420的大小是widht*height*3/2

 

 

图片的大小定 义为:w * h,宽高分别为w和h
一、YUV420格式
先Y,后V,中间是U。其中的Y是w * h,U和V是w/2 * (h/2)
如果w = 4,h = 2,则:
yyyy
yyyy
uu
vv
内存则是:yyyyyyyyuuvv
需要占用的内存:w * h * 3 / 2
采样规律是:每个像素点都采样Y,奇数行采样1/2个U,不采样V,偶数行采样1/2个V,不采样U

二、YUV422格式
本格式使用较为广泛
每两个点为一组,共占用4个字节
YUYVYUYV…
对于每一组YUYV,前面一个Y和本组中的UV组成第一个点,第二个Y和本组中的UV组成第二个点
所以,在内存中,宽高分别为w * 2、h。
如果w = 4,h = 2,则:
YUYVYUYV
YUYVYUYV
需要占用的内存:w * h * 2

三、UYUY422格式

本格式和YUYV422一样,只是YUV的位置不一样罢了

每组中YUV的排列顺序为:UYUV

 需要占用的内存:w * h * 2

****************************************
YUV的采样格式及每种格式中单像素所占内 存大小

YUV主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。
 采样格式          单像素所占内存大小        存放的码流

 YCbCr 4:4:4            3  byte              Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3(4像素为例)

 YCbCr 4:2:2            2  byte              Y0 U0 Y1 V1 Y2 U2 Y3 V3(4像素为例)

 YCbCr 4:2:0            1.5byte              Y0 U0 Y1 Y2 U2 Y3 Y5 V5 Y6 Y7 V7 Y8(8像素为例)
 
YCbCr 4:1:1            1.5byte              Y0 U0 Y1 Y2 V2 Y3(4像素为例)

 

RGB图像大小计算

位图具有特定的颜色深度,是每个像素的位数。位图中的每个像素都有相同数量的位,它决定了图像中有多少不同的颜色。在图像压缩前可以自己算出图像的大小,比如说在PhotoShop中创建一张1600*1200的图片,并选择了RGB每色8位(也就是一个像素24位)的话,就可以算出图片大小为5.49MB,过程为:1600*1200*24(位像素)/8(1字节8位)/1024(1KB=1024B)/1024(1MB=1024KB)MB。但是这样的图片太大了,并不实用,所以人们就利用了图像缩技术,如果是在PS中制作保存的话也就是67KB左右了,这当中到底是怎么压缩的,这就要看是采用哪种压缩技术了。

关于像素还有分辨率之间的关系,有一个让人容易弄混的概念,图片的分辨率是按一个方向上来说的比如说有:水平分辨率,垂直分辨率。分辨率的单位是DPI也就是dots per inch的缩写意思就是每英寸的点数就为分辨率。图片的宽度也可以说是水平像素等于分辨率*水平英寸数如1600(像素)=72(分辨率)*22.22(水平宽度英寸数)。

而视频显示器有一个说法也叫分辨率,常见的屏幕分辨率有1024*768也就是水平像素*垂直像素,所以在这里要注意了,不要以为出问题了(前面的公式)其实这只是名字大概相同而已,意义是不同的,请注意对于显示器而言,是叫屏幕分辨率,对于图片来说就分为水平分辨率和垂直分辨率,这两个分辨率是完全不同的概念。

位深度 用于指定图像中的每个像素可以使用的颜色信息数量。每个像素使用的信息位数越多,可用的颜色就越多,颜色表现就更逼真。例如,位深度为 1 的图像的像素有两个可能的值:黑色和白色。位深度为 8 的图像有 28(即 256)个可能的值。位深度为 8 的灰度模式图像有 256 个可能的灰色值。

  RGB 图像由三个颜色通道组成。8 位/像素的 RGB 图像中的每个通道有 256 个可能的值,这意味着该图像有 1600 万个以上可能的颜色值。有时将带有 8 位/通道 (bpc) 的 RGB 图像称作 24 位图像(8 位 x 3 通道 = 24 位数据/像素)。

分辨率(dpi)就是每英寸的像素个数,

这篇关于YUV以及RGB所占内存大小的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/958234

相关文章

Excel查询颜色RGB值

1.选中单元格,点右键,设置单元格格式-填充-其他颜色-自定义,下面显示的就是该单元格颜色的RGB值 2.与十六进制换算: https://www.sioe.cn/yingyong/yanse-rgb-16/

HSV颜色空间和RGB颜色空间相互转换C语言实现

HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。 色调H 用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色

RGB色转为灰度色算法-img2ascii_char

一、基础   对于彩色转灰度,有一个很著名的心理学公式: Gray = R0.299 + G0.587 + B0.114 二、整数算法   而实际应用时,希望避免低速的浮点运算,所以需要整数算法。   注意到系数都是3位精度的没有,我们可以将它们缩放1000倍来实现整数运算算法: Gray = (R299 + G587 + B114 + 500) / 1000   RGB一般是8位精度,现在缩放1

java 图像RGB,图像红、绿、蓝、灰 化

把图形进行红、绿、蓝、灰 化,并保存     /** * 名词解释: * 饱和度是指色彩的鲜艳程度,也称色彩的纯度。 * 灰度:使用黑色调表示物体,即用黑色为基准色,不同的饱和度的黑色来显示图像。 * 像素:如同摄影的相片一样,数码影像也具有连续性的浓淡阶调,我们若把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成, * 这些小方点就是构成影像的最小单元——像素。是分

#FFFFFF 和RGB的相互转化

#00b3e9 --->RGB(0,179,233)的转化 float R = (float)((0x00b3e9 & 0xFF0000)>>16); --> 0 float G = (float)((0x00b3e9 & 0xFF00)>>8); --> 179 float B = (float)((0x00b3e9 & 0xFF)); --> 233

使用FFmpeg的AVFilter转换YUV到RGB

AVFilter 是 FFmpeg 库 libavfilter 的核心组件,提供了一套强大的音视频处理框架,用于对音视频流进行复杂的过滤、转换和效果处理。通过 AVFilter,开发者可以构建自定义的滤镜图(filter graph),实现各种音视频处理任务,如颜色空间转换、缩放、裁剪、特效添加等。 以下是对 AVFilter 的详细介绍,包括其架构、关键概念、使用方法以及示例代码。 1. A

[C++] 将LONG类型的color值转换为RGB值

转换原理: The calculation is: (65536 * Blue) + (256 * Green) + (Red) 'Convert RGB to LONG: LONG = B * 65536 + G * 256 + R       'Convert LONG to RGB:  B = LONG \ 65536  G = (LONG - B * 65536) \ 256  R =

[米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-25 RGB转HDMI显示方案

软件版本:VIVADO2021.1 操作系统:WIN10 64bit 硬件平台:适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA 实验平台:米联客-MLK-H3-CZ08-7100开发板 板卡获取平台:https://milianke.tmall.com/ 登录“米联客”FPGA社区 http://www.uisrc.com 视频课程、答疑解惑! 目录 1概述

9 自研rgbd相机基于rk3566之qt框架开发rgb图像处理线程

qt框架开发rgb图像处理线程 rgb线程功能及处理流程1 rgb线程分为如下几个功能:2 rgb线程的处理流程如下: rgb线程qt程序详解1 接收界面启动停止信号。2 qt线程运行 rgb线程程序示例1 线程头文件:pthread_33d_sc2310.h2 线程源文件:pthread_33d_sc2310.cpp rgb线程功能及处理流程 1 rgb线程分为如下几个功能: