Camera开发-相机输出常用数据格式

作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习
擅长领域:驱动开发,嵌入式软件开发,BSP开发
作者主页:一个平凡而乐于分享的小比特的个人主页
文章收录专栏:IMX8MP,本专栏记录imx8mp开发板,学习开发过程中的问题及解决方法记录
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

Camera开发-相机输出常用数据格式

视觉相机常见的数据输出格式有: RGB格式、YUV格式、Rawdata格式。

1. RGB 格式

采用这种编码方法,每种颜色都可用三个变量来表示红色、绿色以及蓝色的强度。每一个像素有三原色 R 红色、G 绿色、B 蓝色组成。

1.1 RGB文件存储格式

RGB555

每个像素用16比特位表示,占2个字节,RGB分量都使用5位(最高位不用)

在这里插入图片描述

RGB1555

RGBA(ARGB)中的一种,一位用于表示透明度。0完全透明,1完全不透明

在这里插入图片描述

RGB565

每个像素用16比特位表示,占2个字节,RGB分量分别使用5位、6位、5位。

在这里插入图片描述

RGB24/RGB888

RGB24图像每个像素用24比特位表示,占3个字节,在内存中RGB各分量的排列顺序为:BGR BGR …

在这里插入图片描述

RGB32/RGBA8888

RGB32图像每个像素用32比特位表示,占4个字节,R,G,B分量分别用8个bit表示,存储顺序为B,G,R,最后8个字节保留。在内存中RGB各分量的排列顺序为:BGRA BGRA BGRA …
在这里插入图片描述

RGB222

RGB222是一种8位的RGB格式,各分量占用2bit位,剩下的2bit位不用

1.2 典型应用场景

常用的 RGB 格式包括颜色通道的信息位数、每种颜色可以表示的颜色数量和典型应用场景等。

RGB 格式颜色通道信息位数可表示的颜色数量典型应用场景
RGB888每种通道均为 8 位16,777,216数字图像处理、计算机游戏、电影和摄影等
RGB565R: 5位, G: 6位, B: 5位65,536嵌入式应用、机器视觉、数字标志等
RGBA8888R,G,B 各 8 位,A 通道为 8 位16,777,216图像编辑、视觉效果、移动应用等
RGB332每个通道均为 3 位,共 8 位256简单图形、低成本设备、老式显示器等

注意,这里列出的应用场景只是典型的用途,实际应用还要根据具体情况进行选择。

2. YUV 格式

其中“Y”表示明亮度(Luminance 或 Luma),就是灰阶值;而“U”和“V”表示色度(Chrominance 或 Chroma),是描述影像色彩及饱和度,用于指定像素的颜色。

2.1 YUV的存储格式

YUV在存储格式上通常分为:平面格式(Planar),半平面格式(Semi-Planar),打包格式(Packed)。

平面格式(Planar):即Y、U、V是分开存储的,每个分量占一块地方,即YYY… UUU… VVV…
半平面格式(Semi-Planar):即Y单独占一块地方,但其后U、V又紧挨着排在一起,即YYYYYY… UVUVUV…
打包格式(Packed):即YUV是按像素点存储的,即YUYVYUYV…这样顺序存储。

2.2 采样方式

采样是将4个像素作为一组进行的,原因在于:图像每行所占字节数必须是4的倍数,才能保证无误的转换。
YUV 主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0。
下面三个图比较直观的显示了三种采样方式,其中黑点表示采样像素点的Y分量,空心圆表示采样像素点的UV分量。
在这里插入图片描述

YUV444,YUV 4:4:4采样,每一个Y对应一组UV分量8+8+8 = 24bits,3个字节
YUV422,YUV 4:2:2采样,每两个Y共用一组UV分量,一个YUV占8+4+4 = 16bits 2个字节
YUV420,YUV 4:2:0采样,每四个Y共用一组UV分量一个YUV占8+2+2 = 12bits 1.5个字节

2.3 YUV420,YUV420P和YUV420SP

YUV420,YUV 4:2:0采样,每四个Y共用一组UV分量一个YUV占8+2+2 = 12bits 1.5个字节。

YUV420(Packed),又叫YUYV420,存储:YUV交错存储,按像素点存储。如YUVYUVYUV…

YUV420(planar),根据U、V的顺序,又有2种,U前V后即YUV420P又叫I420YU12,V前U后,叫YV12(12表示一个像素 12 bits)。存储:YUV分开存储,如YYY… UUU… VVV…

YUV420(Semi-Planar),根据U、V的顺序,又有2种,U前V后叫NV12,也叫YUV420SP;V前U后叫NV21。存储:Y与UV分开存储,如YYYYYY… UVUVUV…

2.4 YUV422,YUV422P和YUV422SP

YUV422,即YUV 4:2:2采样,每两个Y共用一组UV分量,一个YUV占8+4+4 = 16bits 2个字节。

YUV422(Packed),又叫YUYV422, 存储:YUV交错存储,按像素点存储。如YUYVYUYVYUYV…

YUV422(planar),根据U、V的顺序,又有2种,U前V后即YUV422P又叫I422YU16,V前U后,叫YV16(16表示一个像素 16 bits)。存储:YUV分开存储,如YYY… UUU… VVV…

YUV422(Semi-Planar),根据U、V的顺序,又有2种,U前V后叫NV16,也叫YUV422SP;V前U后叫NV61。 存储:YUV分开存储,如YYYYYY… UVUVUV…

3. RAW DATA 格式

3.1 RAW

RAW 图像是指图像传感器数字图像,这种图像未经过任何处理,未压缩和未降噪,保留了其原始数据,以便后续的数字后期制作和处理。

3.2 采集过程

环境光/补光灯照在物理表面形成反射 –> 镜头汇聚光线 –> 图像传感器彩色滤镜阵列(CFA)将单色光照在光电二极管 –> 光电转换 –> ADC采集,其他模块转换排列为 设置的 bayer格式的RAW。

RAW 一般是使用 bayer 格式进行排列,每个像素实际只包含单种特定颜色 的光的强度(比如单个像素只能为R/G/B亮度信息)。

3.3 Bayer格式

由于人眼对于绿色更加敏感,所以加重了其在感光点的权重,Bayer格式中的G分量都是B、R分量的两倍。

bayer 序格式按照排列组合,一共分为4种:

排列1排列2排列3排列4
RG
GB
BG
GR
GR
BG
GB
RG

在这里插入图片描述

4. 总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/361943.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenGL-ES 学习(6)---- 立方体绘制

目录 立方体绘制基本原理立方体的顶点坐标和绘制顺序立方体颜色和着色器实现效果和参考代码 立方体绘制基本原理 一个立方体是由8个顶点组成,共6个面,所以绘制立方体本质上就是绘制这6个面共12个三角形 顶点的坐标体系如下图所示,三维坐标…

【极速入门版】编程小白也能轻松上手Comate AI编程插件

文章目录 概念使用错误检测与修复能力API生成代码生成json格式做开发测试 在目前的百模大战中,AI编程助手是程序员必不可少的东西,市面上琳琅满目的产品有没有好用一点的,方便一点的呢?今天工程师令狐向大家介绍一款极易入门的国产…

three.js - MeshStandardMaterial(标准网格材质)- 金属贴图、粗糙贴图

金属贴图、粗糙贴图 金属贴图:metalnessMap 和 粗糙贴图:roughnessMap,是用于模拟物体表面属性的两种重要贴图技术,这两种贴图,通常与基于物理的渲染(PBR)材质(如:MeshSt…

nuxt3项目打包后获取.env设置的环境变量无效的解决办法

问题描述 在nuxt3项目开发过程中,设置了开发环境变量和生产环境变量,在本地开发时都能正常获取,但打包部署时获取不到,设置如下: //.env.development文件示例 SERVER_API_PATHhttp://192.168.25.100//.env.productio…

Elasticsearch环境搭建|ES单机|ES单节点模式启动|ES集群搭建|ES集群环境搭建

文章目录 版本选择单机ES安装与配置创建非root用户导入安装包安装包解压配置JDK环境变量配置single-node配置JVM参数后台启动|启动日志查看启动成功,访问终端访问浏览器访问 Kibana安装修改配置后台启动|启动日志查看浏览器访问 ES三节点集群搭建停止es服务域名配置…

小区物业管理收费系统源码小程序

便捷、透明、智能化的新体验 一款基于FastAdminUniApp开发的一款物业收费管理小程序。包含房产管理、收费标准、家属管理、抄表管理、在线缴费、业主公告、统计报表、业主投票、可视化大屏等功能。为物业量身打造的小区收费管理系统,贴合物业工作场景,轻…

未来20年人工智能将如何塑造社会

照片由Brian McGowan在Unsplash上拍摄 更多资讯,请访问 2img.ai “人工智能会成为我们的救星还是我们的末日?” 几十年来,这个问题一直困扰着哲学家、科学家和科幻爱好者。 当我们踏上技术革命的边缘时,是时候透过水晶球&#x…

【java算法专场】双指针(上)

目录 前言 基本原理 对撞指针 快慢指针 移动零 算法思路 算法步骤 代码实现 算法分析 复写零 算法思路 算法步骤 代码实现 快乐数 算法思路 算法步骤 代码实现 盛最多水的容器 ​编辑算法思路 代码实现 前言 双指针是一种在数组或链表等线性数据结构中高效…

CV每日论文--2024.6.26

1、StableNormal: Reducing Diffusion Variance for Stable and Sharp Normal 中文标题:StableNormal:减少扩散方差以实现稳定且锐利的法线 简介:本文介绍了一种创新解决方案,旨在优化单目彩色输入(包括静态图片与动态…

CCS的安装步骤

CCS的安装步骤 安装之前有几件重要的事情要做: 首先肯定是要下载安装包啦!点击此处是跳到官网下载地址安装包不能处的路径中不能包含中文关闭病毒防护和防火墙,以及其他杀毒软件最后是在重启后进行安装 主要的步骤如下: 找到安…

PDF转成清晰长图

打开一个宝藏网址在线PDF转换器/处理工具 - 在线工具系列 点击图下所示位置 按照图下所示先上传文件,设置转换参数后点击转换,等待 等待转换完成后,可以在转换结果处选择下载地址,点击即可进行下载使用了。对比了其他几个网站的转…

.NET C# Asp.Net Core Web API 配置 Nginx

.NET C# Asp.Net Core Web API 配置 Nginx 目录 .NET C# Asp.Net Core Web API 配置 Nginx1 创建Asp.Net Core Web API应用2 接口代码3 发布4 启动服务5 Nginx安装6 配置Nginx7 启动Nginx8 测试9 Nginx日志10 附: 1 创建Asp.Net Core Web API应用 2 接口代码 Weath…

高考志愿填报选专业,解读“冲稳保”三步策略

高考界流传着一句话“一分压倒千人”,在特定的分数段,比别人高一分,高考排名就比别人高一千并不是危言耸听,而利用好这些分数和排名,则有利于我们人生进入新的阶段。 纵观每年的高考,无论是老师考生还是家…

“北京到底有谁在啊”影视APP开发,解锁最简单的快乐

随着电视剧《玫瑰的故事》在腾讯视频APP热播,APP也增加了很多热度,一款丰富的影视APP,无论是热门大片、经典影视剧、还是最新综艺节目,能畅享无限精彩的影视内容! 开发影视APP,需要专业的技术服务商来解决…

[leetcode]k-th-smallest-in-lexicographical-order 字典序的第K小数字

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int getSteps(int curr, long n) {int steps 0;long first curr;long last curr;while (first < n) {steps min(last, n) - first 1;first first * 10;last last * 10 9;}return steps;}int find…

kettle使用手册 安装9.0版本 建议设置为英语

0.新建转换的常用组件 0. Generate rows 定一个字符串 name value就是字符串的值 0.1 String operations 字段转大写 去空格 1. Json input 来源于一个json文件 1.json 或mq接收到的data内容是json字符串 2. Json output 定义Jsonbloc值为 data, 左侧Fieldname是数据库查…

vue3-登录小案例(借助ElementPlus+axios)

1.创建一个vue3的项目。 npm create vuelatest 2.引入Elementplus组件库 链接&#xff1a;安装 | Element Plus npm install element-plus --save 在main.js中引入 import ElementPlus from "element-plus";import "element-plus/dist/index.css";ap…

SAP ABAP 常用实用类

文章目录 前言一、输出 展示 数据信息 a.将 JSON 格式化为可读 并以弹框形式输出 b.将内表内容以表格形式输出 c.弹框形式显示 HTML 内容。也能显示包含js 的html。也可以显示pdf 图片 二、输入 获取 数据信息 a.弹框 添加 输入框…

算法基础详解

大O记法 为了统一描述&#xff0c;大O不关注算法所用的时间&#xff0c;只关注其所用的步数。 比如数组不论多大&#xff0c;读取都只需1步。用大O记法来表示&#xff0c;就是&#xff1a;O(1)很多人将其读作“大O1”&#xff0c;也有些人读成“1数量级”。一般读成“O1”。虽…

DM达梦数据库转换、条件函数整理

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…