颜色的数字化描述(RGB与YUV的简介)

 以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。

参考内容

(1)YUV和RGB的相互转换实验_Geek.Fan的博客-CSDN博客

(2) 工作中用到的一些基础知识

(3)YUV422 YUV420 Planar \ Semi-Planar \ Interleaved格式详解

(4)YUV 和 YCbCr 的差别 - 胡永光 - 博客园

一、颜色的学问

(1)颜色的本质是光的波长,但是因为有人去看才有了颜色这个概念。

(2)颜色的三个关键:亮度(亮暗程度)、色度(什么颜色)、饱和度(厚重浅薄感)。

(3)可以用“ 色彩空间 ”(RGB、YUV等)这个概念,数字化地表示一种颜色。

二、图像采集过程

(1)图像采集过程:光照在成像物体被反射>>镜头汇聚>>Sensor光电转换>>ADC为rawRGB。

(2)sensor上的每个像素硬件单元(或者说光电转换器)只能采集特定颜色的光的强度,因此每个像素只能为R或G或B。这些由sensor像素硬件单元得到的原始数据,就是rawRGB。

(3)将rawRGB进行转换(比如附近加权)得到我们熟知的RGB(每个像素点由RGB组成)。

(4)图像显示的要素:分辨率(一共多少像素)、pitch(像素与像素之间的距离)、观看距离。如果是视频,还需要考虑帧率。

(5)图像的表达、压缩、修整等相关技术,就发生在rawRGB以后的各个环节。

三、RGB方式表示颜色      

1、RGB格式

RGB格式有以下:RGB555、RGB565、RGB888(或者叫RGB24,即真彩色)、ARGB(或者叫RGB32,其中A表示透明度)等。其中RGB后面的数字表示分别用多少bit来表示R、G、B这三个分量(或者说通道)的亮度。

比如RGB565,使用16bit来表示一个像素,其中用5bit表示R分量,用6bit表示G分量,用5bit表示B分量。程序中使用一个字(两个字节)来操作RGB565格式的一个像素,各个bit的含义如下。

[高字节]  R R R R R G G G G G G B B B B B  [低字节]

我们通过使用屏蔽字和移位操作,可以得到RGB各分量的值。

2、RGB的本质

将色度分解为R、G、B三个分量,然后记录下各个分量的亮度。

如果采用RGB888格式,则每个分量有256阶亮度。当三个分量的亮度相同时,会得到灰色调(三个分量的亮度值都为0时是黑色,都为255时是白色,黑色与白色之间的就是灰色),此时的亮度也叫灰度值。

3、RGB的优势与劣势

(1)广泛应用于数字化的、彩色的显示器、计算机编程如opencv等领域。

(2)与传统灰度图(只有亮度信息)的兼容性不好,表达颜色的效率不高(即占用内存大)。

四、YUV方式表示颜色

1、YUV的简介

YUV也是一种色彩空间,其中Y表示亮度,U和V表示色度。只有Y就是黑白图像,再加上UV就是彩色图像了,因此兼容彩色系统和传统黑白系统。

2、YUV和RGB的对比

两者都是用来表达颜色的数学方法,但对颜色的描述思路和方法不同。RGB将一个颜色拆解为3个色度的亮度组合,YUV将一个颜色分解为2个色度与1个亮度的组合。RGB和YUV之间可以用数学方法互相换算,具体方法见参考内容(1),是一个典型的浮点运算过程。

3、YUV和YCbCr的对比

两者基本一样,具体介绍见参考内容(4)。

4、YUV的格式分类

YUV格式分为packed和planar两种,具体介绍见参考内容(2)。

假如有四个像素,每个像素都有一个YUV,即Y0U0V0、Y1U1V1、Y2U2V2、Y3U3V3。

对于packed,这四个像素的数据是这样编排的:[Y0,U0,V0]、[Y1,U1,V1]、[Y2,U2,V2]、[Y3,U3,V3]。即将YUV分量存放在同一个数组中。

对于planar,这四个像素的数据是这样编排的:[Y0,Y1,Y2,Y3]、[U0,U1,U2,U3]、[V0,V1,V2,V3]。即使用三个数组分开存放YUV三个分量,就像是一个三维平面一样。

对于semi planar,这四个像素的数据是这样编排的:[Y0,Y1,Y2,Y3]、[U0,V0]、[U1,V1]、[U2,V2]、[U3,V3]。

这两种格式各有优势。比如只想获取一部分图像的信息,那么packed格式的就比planar格式好,因为可以直接读取packed格式的部分数组,而plannar需要读取全部数组中。比如只想调亮画面,那么plannar就比packed好,因为直接修改plannar的亮度数组就好。

5、YUV相关的概念

下面是与YUV相关的概念,具体介绍参考内容(2)(3)。

YUYV(2个Y1个U1个V,应该就是YUV422?)

YUV422(即2*2像素点,共有4个Y、2个U和2个V。)

YUV420(其实叫YUV411更合适,2*2像素点,共有4个Y、1个U和1个V。)

YUV422 planar(即YUV422P)

YUV420 Planar(即YUV420P)

YUV422 semi planar(即YUV422SP)

YUV420 semi Planar(即YUV420SP)

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

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

相关文章

softlayer virtual machine vhd磁盘镜像导入shell脚本

softlayer virtual machine vhd磁盘镜像导入shell脚本 脚本 测试上传; 20480 records in20480 records out2147483648 bytes (2.1 GB) copied, 44.2262 s, 48.6 MB/scurl: option --data-binary: out of memorycurl: try curl --help or curl --manual for more information 28…

第二季1:MPP模块概述

以下内容源于海思官方文档内容,如有侵权请告知删除。 一、MPP模块概述 海思的媒体处理软件平台(MPP,Media Process Platform)有利于应用软件的快速开发。因为该平台屏蔽了一些与芯片相关的复杂的底层处理,给应用软件提…

小米平板安装鸿蒙系统,【新机】安卓最强平板?MatePad Pro2曝光:预装鸿蒙OS | 小米平板5到底啥时候发布?...

目前安卓阵营还在好好做平板的可能也就是三星和华为了,至少整体的配置规格都还不错。根据爆料,华为将会在近期推出MatePad Pro 2代产品,预计6月份正式和大家见面。MatePadPro2将会搭载麒麟9000处理器,算是目前安卓平板里性能最强的…

第二季3:sample_venc.c的整体分析

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 一、sample文件夹的介绍 将mpp/sample文件夹以及mpp/include文件夹导入SI后,搜索main时可以发现很多main函数。这说明sample文件夹下有很多例程,每个例程面向一个典型应用。…

poj 2891 Strange Way to Express Integers

题目&#xff1a;http://poj.org/problem?id2891 思路&#xff1a;扩展欧几里得 #include <cstdio> #include <cstring> #include <iostream> #include <cmath> #include <algorithm> using namespace std; #define maxn 100010 int n; long lo…

读书笔记2014第13本:《富爸爸,穷爸爸》

早就收藏了《富爸爸&#xff0c;穷爸爸》这本书&#xff0c;一直没看&#xff0c;最近仔细翻看一遍&#xff0c;发现自己智商一般&#xff0c;情商不行&#xff0c;原来财商更差&#xff0c;连书里的穷爸爸也比不上。这本书在这个时代再看&#xff0c;已经跟不上形势的发展了&a…

第三季1:ORTP库的移植与视频的实时传输实验

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 本节内容是移植ORTP库&#xff0c;并使用ORTP库来完成视频的实时传输。 一、ORTP的简介 1、视频网络传输的两种方式 &#xff08;1&#xff09;基于下载的方式。比如http&#xff08;Hyper Text T…

有赞下拉菜单html,有赞vant-ui Tabs、List、PullRefresh组件实践

Vant ui Vue.js 部分组件实践功能需求是实现一个移动端的栏目列表切换&#xff0c;于此同时列表需要进行下拉刷新&#xff0c;上拉加载如下图&#xff0c;大概是一个这样的东西看起来是挺简单的&#xff0c;实现起来很方便。没错&#xff0c;我当时也是这么想的&#xff0c;结…

第五季1:AP模式USB-WIFI网卡移植与测试

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 内容总结 &#xff08;1&#xff09;HI3518EWIFI做AP&#xff0c;PC做STA&#xff0c;实现局域网内ortp视频传输。 &#xff08;2&#xff09;HI2518EWIFI做STA&#xff0c;PC做STA&#xff0c;外部…

免费社交类图标集

免费下载 这是一套免费社交类型的图标集&#xff0c;包含35种不同内容的图标。包括当前最热的Instagram&#xff0c;Evernatoe等。和往常推荐的一样&#xff0c;PSD文件可自行调整大小,50*50像素。它们可以被用在商业项目上&#xff0c;如果你也喜欢相关类型的图标&#xff0c;…

第五季2:STA模式USB-WIFI网卡移植与测试

以下内容源于朱有鹏课程&#xff0c;如有侵权&#xff0c;请告知删除。 参考博客 hisi3518ev200移植MT7601_fsczp的博客-CSDN博客 wpa_supplicant移植与使用_andylauren的博客-CSDN博客 Linux wpa_cli 调试方法_weixin_34168700的博客-CSDN博客 12 海思Hi3518E移植WIFI驱动(ST…

关于ping命令的工作原理

2019独角兽企业重金招聘Python工程师标准>>> 当我们在用ping命令ping地址的时候会向target主机发送一个ICMP协议中的echo包&#xff0c;如果对方living&#xff08;活动状态&#xff09;。 则会返回一个echo包。 TTL的值&#xff1a;这个值对我们有什么用&#xff0…

第七季1:分析MP4文件封装格式

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考内容 &#xff08;1&#xff09;mp4文件格式解析 - nigaopeng - 博客园&#xff08;推荐&#xff09; &#xff08;2&#xff09;你真的懂 MP4 格式吗&#xff1f; &#xff08;3&#xff09;m…

第七季2:移植MP4v2库 与 将H.264码流打包成MP4格式的文件

以下内容源于朱有鹏课程的学习与整理&#xff0c;如有侵权请告知删除。 前言 本文首先移植MP4V2库&#xff0c;然后运行修改后的sample代码以生成MP4文件。 利用MP4v2库&#xff0c;可以将编码方式为H264的视频码流打包、封装为MP4格式的文件。 一、移植MP4v2库 1、下载MP4…

新高考不选物理可以学计算机吗,新高考选科中物理真的那么重要吗?没有选物理是不是完了?...

文/圆梦志愿 伏老师众所周知&#xff0c;选科是我国新高考中最重要的事情之一&#xff0c;且涉及到了多门选考科目。其中&#xff0c;要数物理的话题性相对最强。那么&#xff0c;高考选科是不是物理特别重要&#xff1f;新高考没有选物理是不是完了&#xff1f;一、高考选科是…

参加第三届信息化创新克拉玛依国际学术论坛

据老孙说前二届在克拉玛依的数字油田的会议规格很高&#xff0c;可惜一直没机会参加。2014年9月3日至4日举办第三届&#xff0c;无论如何抓住了这次机会&#xff0c;不过会议的内容有些让我失望&#xff0c;克拉玛依的心思已经放在数字城市上了&#xff0c;数字油田的主题被冲淡…

Telnet远程登录 与 海思proc文件系统

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c; 如有侵权请告知删除。 内容总结 &#xff08;1&#xff09;添加“ telnet远程登录 ”这种调试方式。 &#xff08;2&#xff09;介绍“ 海思proc文件系统 ”这种调试接口。 一、telnet远程登录 1、telnet远程登录的意…

北邮-上机-提交错误解决及一些经验

2019独角兽企业重金招聘Python工程师标准>>> 1、出现Time Limit Exceed问题 答&#xff1a;三种原因&#xff1a;1、程序死循环或太多的循环&#xff1b;2、对极限状况计算量太大&#xff0c;需要优化程序&#xff0c;如对10000个以上进行排序必须使用快速排序&…

RAM、ROM和FLASH三大类常见存储器简介

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 参考博客&#xff1a; Flash、RAM、ROM的区别_天籁东东的博客-CSDN博客_flash和rom的区别 RAM、ROM和FLASH三大类常见存储器简介 - 存储技术 - 电子发烧友网 RAM、NANDFlash、NORFlash的区别详解 - 百度…

wangeditor html编辑,Vue整合wangEditor富文本编辑器

最近在做项目时&#xff0c;客户有个发布新闻动态的功能&#xff0c;具体页面内容让客户自己编写&#xff0c;所以要选择富文本编辑器&#xff0c;这样用户体验好一点。网上有很多的富文本编辑器&#xff0c; 因为项目的功能并不是很复杂&#xff0c;所以选择了wangEditor&…