图像格式:常见图像格式RAW, RGB, YUV&&图像格式的解析、格式转换和看图软件

简介: 图像格式:常见图像格式RAW, RGB, YUV&&图像格式的解析、格式转换和看图软件

-------------------常见图像格式RAW, RGB, YUV

1、RAW

raw数据是sensor输出的原始数据,一般有raw8, raw10, raw12等,分别表示一个像素点有8bit、10bit、12bit数据。

**是sensor将光信号转化为电信号时的电平高低的原始记录,**单纯地没有进行任何处理的图像数据,即摄像元件直接得到的电信号进行数字化处理而得到的。

raw数据在输出的时候是有一定顺序的,主要有四种: GRBG、RGGB、BGGR、GBRG,如下图为BGGR格式:

2、RGB

RGB格式:即每一个像素由三原色R红色、G绿色、B蓝色组成。通过三种颜色的混合,基本就能够混合出人类视力所能感受到的所有颜色。

RGB常见的的几种格式和描述:

  • RGB565 每个像素用16位表示,RGB分量各使用5位、6位、5位;
  • RGB555 每个像素用16位表示,RGB分量都使用5位(剩下1位不用);
  • RGB24 每个像素用24位表示,RGB分量各使用8位;
  • RGB32 每个像素用32位表示,RGB分量各使用8位(剩下8位不用);
  • ARGB32 每个像素用32位表示,RGB分量各使用8位(剩下的8位用于表示Alpha(透明度)通道值);

3、YUV

3.1、yuv 定义:

是被欧洲电视系统所采用的一种颜色编码方法。其中“Y”表示明亮度(Luma),就是灰阶值,而“U”和“V”表示色度(Chroma)。

与我们熟知的RGB类似,YUV也是一种颜色编码方法;主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,

这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV方式传送占用极少的频宽。

常用格式有:YUV444,YUV422,YUV420(为什么是4呢?因为这个4,实际上表达了共享的最大单位!也就是最多4个像素进行共享,因此4实际上是隐含的采样全集);

摄像头中最常用的是YUV 422格式,及Y-U-Y-V格式。以YUV422 8bit为例,每个像素点都包含亮度分量(8bit)以及UV两个颜色分量中的某一个(8bit)。

因此每个像素点需要16bit数据。如果使用YUV422 10bit,那每个像素点需要20bit来描述;

3.2、采样格式:

从前述定义中,可以了解YUV空间描述RGB空间的像素颜色按“亮度”分量和两个“色度”分量进行了表示。这种编码表示也更加适应于人眼,据研究表明,人眼对亮度信息比色彩信息更加敏感。而YUV下采样就是根据人眼的特点,将人眼相对不敏感的色彩信息进行压缩采样,得到相对小的文件进行播放和传输。

1)YUV 444

一个家庭成员是[yuv],每个Y对应一组UV,一个YUV占24bits 3个字节;

2)YUV 422

一个家庭成员是[yu][yv],也就是2个Y公用一个UV,一个YUV占8+4+4=16bits 2个节;

3)YUV 420

yuv420的意思似乎是在yuv422的基础上,再拿掉两个v,这样不就没有v了吗?其实yuv420的取名方式不是很高明,更确切的命名为yuv420yuv402也就是第一行只有两个u,而第二行只有两个v,如下图;

对于yuv420而言,这个家庭的成员如下图所示,显然4个Y公用一组UV,每个YUV占用8+2+2=12bits,1.5个字节;

4)yuv不同采样格式对图像画质的影响

根据前述的YUV采样格式分析,这里我们分析一下对图像画质的影响。我们将一个原始图像为8*8像素的红蓝相间的图案,分别按YUV444、YUV422、YUV420不同的采用格式采样,然后再还原输出。

图5(a):我们可以看到YUV444的色度信号的分辨率和亮度信号的分辨率无损失,我们获得了与原始图案一致的还原画面图案。

图5(b):YUV422获得还原图案在水平方向上,已经出现了丢失,从绿色所框选的像素来看,YUV422在水平方向上丢失了另一个像素点的色彩值,故在画面还原时仅是对前一个像素值简单的复制重构。

图5©:YUV420获得还原图案在水平方向以及垂直方向上,均出现了丢失,获得的还原图像与原始图像出现很大的失真。

由图5所示的直观观测,对图像高频细节的图像表达上,YUV444优于YUV422,YUV422优于YUV420。

在信号传输带宽的节省上,YUV420效率优于YUV444,YUV422优于YUV444。因此在普通的视频编解码算法上,为节省传输带宽开销,普遍采用YUV420或者YUV422的采样格式。

3.3、存储格式:

  • planar 平面格式:指连续存储所有像素点的Y分量,然后存储U分量,最后是V分量。
  • packed 打包模式:指每个像素点的Y、U、V分量是连续交替存储的。

下面用图的形式给出常见的YUV码流的存储方式,并在存储方式后面附有取样每个像素点的YUV数据的方法,其中,Cb、Cr的含义等同于U、V。

1)基于YUV4:2:2采样的格式

YUV 4:2:2 采样规定了 Y 和 UV 分量按照 2: 1 的比例采样,两个 Y 分量公用一组 UV 分量;

YUYV格式

YUYV是采用打包格式存储的,相邻的两个Y共用其相邻的两个Cb、Cr,分析,对于像素点Y’00、Y’01 而言,其Cb、Cr的值均为 Cb00、Cr00,其他的像素点的YUV取值依次类推。

UYVY格式

UYVY也是采用打包格式存储的,它的顺序与YUYV相反,还原其每个像素点的YUV值的方法与上面一样。

YUV422P格式

YUV422P也属于YUV422的一种,它是一种Plane模式,即平面模式,并不是将YUV数据交错存储,而是先存放所有的Y分量,然后存储所有的U(Cb)分量,最后存储所有的V(Cr)分量,如上图所示。

其每一个像素点的YUV值提取方法也是遵循YUV422格式的最基本提取方法,即两个Y共用一个UV。比如,对于像素点Y’00、Y’01 而言,其Cb、Cr的值均为 Cb00、Cr00。

2)基于YUV4:2:0采样的格式

基于 YUV 4:2:0 采样的格式主要有 YUV 420P 和 YUV 420SP 两种类型,YUV420P 和 YUV420SP 都是基于 Planar平面格式进行存储的,先存储所有的 Y 分量后

YUV420P 类型就会先存储所有的 U 分量或者 V 分量

而 YUV420SP 则是按照 UV 或者 VU 的交替顺序进行存储了,具体查看看下图:

YUV420P ___ YU12

在android平台下也叫作I420格式,首先是所有Y值,然后是所有U值,最后是所有V值;

YUV420P ___ YV12

YV12格式与YU12基本相同,首先是所有Y值,然后是所有V值,最后是所有U值;

YUV420SP ___ NV21

android手机从摄像头采集的预览数据一般都是NV21,存储顺序是先存Y,再VU交替存储,NV21存储顺序是先存Y值,再VU交替存储;

YUV420SP ___ NV12

NV12与NV21类似,也属于YUV420SP格式,NV12存储顺序是先存Y值,再UV交替存储;

内容转自:https://zhuanlan.zhihu.com/p/538058910?utm_id=0

-------------------图像格式的解析、格式转换和看图软件

在ISP的图像算法开发中,经常会涉及到YUV、RAW等格式的图像。

例如,在YUV域,经常会涉及到I420、NV12和P010等数据格式之间的转换。

在RAW域,又会经常涉及到MIPI RAW等数据的查看。

目前,YUV的格式解析软件有开源的YUView,解析RAW格式的有LibRaw等。

但是,算法开发中会经常用到图像的转换、看图等功能,所以还是自己写个软件更方便些。

根据使用习惯,软件应该能够实现下面的功能:

  • 1.首先能够解析ISP中常用的格式,并且能够实现单个、批量格式转换
  • 2.支持拖拽,方便快速看图
  • 3.有类似Visual Studio中ImageView的功能,能够用鼠标滚轮移动、缩放图片,查看具体像素值
  • 4.对于RAW图,具有简单的Black Level Subtraction、White Balance、Demosaic、Gamma等功能查看彩色图

内容转自:https://blog.csdn.net/FrankCai86/article/details/121549286

目录
相关文章
|
4月前
|
Web App开发 网络协议 关系型数据库
深度解析TCP协议:特点、应用场景及市面上常见软件案例
深度解析TCP协议:特点、应用场景及市面上常见软件案例
73 1
深度解析TCP协议:特点、应用场景及市面上常见软件案例
|
4月前
|
移动开发 JSON 监控
网络协议解析:在员工上网监控软件中实现HTTP流量分析
随着企业对员工网络活动的监控需求不断增加,开发一套能够实现HTTP流量分析的网络协议解析系统变得愈发重要。本文将深入探讨如何在员工上网监控软件中实现HTTP流量分析,通过代码示例演示关键步骤。
223 0
|
8月前
|
关系型数据库 Linux 虚拟化
掌握Linux服务器管理技巧与容器化应用 - 从软件服务到虚拟化技术全面解析
掌握Linux服务器管理技巧与容器化应用 - 从软件服务到虚拟化技术全面解析
92 0
|
8天前
|
算法 Java 测试技术
深入解析白盒测试:提升软件质量与效率的关键
【4月更文挑战第22天】 在软件开发的复杂多变的世界中,保证代码质量和功能的正确性是至关重要的。白盒测试作为一种重要的软件测试方法,提供了一种透视软件内部逻辑结构的途径。本文将详细探讨白盒测试的概念、技术手段和实际应用,旨在帮助读者理解如何通过这种测试提高软件系统的稳定性和性能。文章还将讨论白盒测试中面临的挑战以及应对策略,以期为软件质量保证提供实用的指导。
18 2
|
12天前
|
人工智能 搜索推荐 数据挖掘
人事管理软件全解析:高效团队管理的必备利器
这篇文章介绍了六款知名的人力资源管理系统:Zoho People、SAP SuccessFactors、Workday、Zenefits、BambooHR和TalentSoft。Zoho People以其全面功能和定制化能力脱颖而出,包括一站式人事流程管理、深度集成和定制工作流。SAP SuccessFactors侧重人才管理,提供学习和绩效管理解决方案,但成本较高。Workday强调一体化HR平台和数据分析,适合大型企业。Zenefits专为中小企业设计,自动化HR流程和合规提醒是其亮点。BambooHR以其用户友好界面和精细化招聘管理受到青睐。
22 0
|
2月前
|
搜索推荐 数据挖掘 测试技术
邮件营销新风向!5款不容错过的热门软件全面解析!
本文介绍了5款热门邮件营销软件:Zoho Campaigns、Campaign Monitor、Sendinblue、Constant Contact和GetResponse。这些工具各具特色,提供丰富的模板、自动化营销、A/B测试和分析功能。Zoho Campaigns以其强大的集成能力脱颖而出,Campaign Monitor强调易用性,Sendinblue是一站式解决方案,Constant Contact专注于社交和邮件营销,而GetResponse则提供全面的工具和高度自定义选项。每款产品都旨在帮助用户提升邮件营销效率和客户互动。
29 0
|
2月前
CRM软件推荐2024:五款顶级产品解析,助您找到最佳选项!
2024年,随着民营经济发展,CRM软件成为企业增长的关键。本文推荐了五款高好评CRM:1) Zoho CRM,以其易用性和性价比受青睐;2) Zoho Bigin,轻量级选项适合小微企业;3) Salesforce,CRM巨头,但国内售后不足;4) Hubspot,提供免费版,付费版价格较高;5) Pipedrive,专注小型团队。企业在选择时应考虑试用体验和服务质量。
37 6
|
2月前
|
存储 监控 数据管理
Lua代码解析:实现上网行为监管软件的自定义规则引擎
在当今数字化时代,网络安全和数据隐私保护备受关注。为了确保网络安全和合规性,许多组织和机构需要监管和管理其员工或用户的上网行为。为了实现这一目标,开发一款高效的上网行为监管软件至关重要。本文将介绍如何使用Lua语言开发一种自定义规则引擎,以实现上网行为监管软件的自定义规则引擎。
137 0
|
4月前
|
运维 安全 程序员
如何使用远程控制软件并将用途最大化?4款国内外优质应用测评解析
如何使用远程控制软件并将用途最大化?4款国内外优质应用测评解析
28 0
如何使用远程控制软件并将用途最大化?4款国内外优质应用测评解析
|
4月前
|
敏捷开发 Devops jenkins
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
47 1

推荐镜像

更多