视频图像的两种表示方式YUV与RGB(1)

了解过计算机图形图像学的该知道,可用RGB和YUV两种方式表示图像像素,视频由一帧一帧的图像组成,每一张图片是一个一个的像素点组成,既然有两种表示像素的方法,那就一起解一下两种表示方式的异同及优缺点。

RGB像素
在这里插入图片描述
这里只简单回顾RGB像素表示法,R、G、B即是Red 红、Green 绿、Blue 蓝的首字母,是颜色的三原色,强度不同的组合可表示大部分人眼可看的颜色。计算机里,可用三个字节分别表示RGB值。一字节8bit(取值范围是0~255),三字节就是24位,所以此表示法也叫做 RGB24 。为方便表示,还常用16进制表示。RGB表示法简单直观,却很消耗存储资源,一个1024x1024的图像,需要1024x1024x3=3MB存储空间。
YUV像素
RGB像素表示法简单,没做过数字图像和视频的开发,可能很少听说YUV。但在数字图像和视频编码里领域,YUV像素表示法非常流行,主要有如下原因**:第一,人眼对亮度更敏感,对颜色的敏感度稍弱,所以使用YUV来表示图像可节省存储资源。**第二:由于数字摄像机传感器不能直接采样三原色,RGB不适合硬件处理,使得YUV得到广泛应用。

什么是YUV呢?「Y」为明亮度(Luminance、Luma),「U」和「V」为色度(Chrominance、Chroma)。YUV是模拟信号称呼,YCbCr为数字信号应该表示,其中Cb是蓝色色度,Cr是红色色度。
下面图片例子来源https://zh.wikipedia.org/wiki/YCbCr,很能说明YUV的特性,第一张是原图,第二张Y分量的表示图,第三张是U分量的表示图,第四张是V分量的表示图。在这里插入图片描述

YUV相对RGB优势是压缩比高,那么YUV采样是值得研究的事情。
为什么说YUV比较节省存储空间?前面提到,人眼对亮度更敏感,对色度敏感度稍差,所以我们可以用完整亮度和更少色度表示一张图像,即采样。用RGB表示每个像素必须用3个字节,但YUV表示一个像素,可以是3=字节,也可是2字节(丢掉U或者丢掉V),还可只有1个字节(丢掉U和V)。占用字节大小的不同因为采用不同的采样方式,下一篇具体讲述YUV的采样格式。

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

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

相关文章

OpenAI推出GPTBot网络爬虫:提升AI模型同时引发道德法律争议

文章目录 一、GPTBot 简介二、功能特点三、技术细节3.1、用户代理标识3.2、数据采集规则3.3、数据使用目的3.4、网站屏蔽方法3.5、数据过滤 四、GPTBot 的道德和法律问题五、GPTBot 的使用方法和限制六、总结 一、GPTBot 简介 OpenAI 推出的网络爬虫GPTBot旨在通过从互联网上收…

进制转换(0123456789ABCDEF)

题目 import java.util.Scanner;public class Main {public static void main(String[] args) {//将十进制数M转化为N进制数Scanner sc new Scanner(System.in);int m sc.nextInt();int n sc.nextInt();StringBuffer sb new StringBuffer();//1String s "0123456789…

从零开始学Python(五)面向对象

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Python的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.类的定义 二.魔法方法 1.概念 2.常…

Javascript进阶内容

1. 作用域 1.1 局部作用域 局部作用域分为函数作用域 和 块级作用域 块级作用域就是用 {} 包起来的,let、const声明的变量就是产生块作用域,var不会;不同代码块之间的变量无法互相访问,里面的变量外部无法访问 1.2 全局作用域…

2024HW --->反序列化漏洞!

对于反序列化,这个漏洞也是常用的,不过涉及到的方面非常非常广,比其他漏洞也难很多 于是本篇文章就分成PHP和JAVA的反序列化来讲讲 1.反序列化 想要理解反序列化,首先就要理解序列化 序列化:把对象转换为字节序列的过…

默克尔(Merkle)树 - 原理及用途

默克尔(Merkle)树的原理以及用途 引言 在当今数字化时代,确保数据的完整性是至关重要的。默克尔树作为一种高效的数据结构,被广泛应用于网络安全、分布式系统以及加密货币等领域,用于验证大量数据的完整性和一致性 数…

【HTB】 OpenSource

OpenSource 靶机地址:https://app.hackthebox.com/machines/471 信息收集 ┌──(root㉿kali)-[~/Desktop] └─# nmap -Pn -sC -sV -p- 10.129.212.208 --min-rate5000 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-08 16:01 CST Nmap scan report f…

GPIO口工作原理的超详细解释

一、GPIO基本结构 每个GPIO内部都有这样的一个电路结构,这个结构在本文下面会具体介绍。 这边的电路图稍微提一下: 保护二极管: IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入。当引脚电压高于VDD时,上方的二…

Altair® (澳汰尔)Inspire™ Print3D 打造高效的增材制造设计

Altair (澳汰尔)Inspire™ Print3D 打造高效的增材制造设计 借助 Inspire Print3D,可加速创新、结构高效的 3D 打印部件的创建、优化和研究,提供快速准确的工具集,可用于实现选择性激光熔融 (SLM) 部件的设计和过程仿…

基于SSM+Jsp+Mysql的快递管理系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

第十三章 OpenGL ES-RGB、HSV、HSL模型介绍

第十三章 OpenGL ES-RGB、HSV、HSL模型详细介绍 第一章 OpenGL ES 基础-屏幕、纹理、顶点坐标 第二章 OpenGL ES 基础-GLSL语法简单总结 第三章 OpenGL ES 基础-GLSL渲染纹理 第四章 OpenGL ES 基础-位移、缩放、旋转原理 第五章 OpenGL ES 基础-透视投影矩阵与正交投影矩阵…

模拟memcpy和memmove

memcpy是内存复制函数,原型如下 void *memmove(void *dest, const void *src, size_t count) 从src地址复制count个字节到dest 模拟实现 void *memcpy(void *dest, const void *src, size_t count) {if (dest NULL || src NULL)return NULL;void *ans dest;f…

HackTheBox-Machines--CozyHosting

文章目录 1 端口扫描2 测试思路3 访问web站点4 横向移动5 权限提升 CozyHosting 测试过程 1 端口扫描 nmap -sC -sV 10.129.229.882 测试思路 目标开启了80和22端口,所以出发点从80端口开始。 1.通过在web网站寻找漏洞,获取到用户名和密码,远…

CSS层叠样式表学习(基础选择器)

(大家好,今天我们将继续来学习CSS(2)的相关知识,大家可以在评论区进行互动答疑哦~加油!💕) 目录 二、CSS基础选择器 2.1 CSS选择器的作用 2.2 选择器分类 2.3 标签选择器 2.…

Swift 异步序列 AsyncStream 新“玩法”以及内存泄漏、死循环那些事儿(上)

概览 异步序列(Async Sequence)是 Swift 5.5 新并发模型中的一员“悍将”,系统标准库中很多类都做了重构以支持异步序列。我们还可以用 AsyncStream 辅助结构非常方便的创建自己的异步序列。 这里我们就来一起聊聊 AsyncStream 结构&#xf…

win10下使用qemu安装aarch64架构的iso镜像虚拟机

1、win下安装qemu 最新版 可在如下链接进行下载安装 QEMU for Windows – Installers (64 bit) 2、准备aarch64的iso镜像 我这里使用的是 Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso 3、使用如下命令启动虚拟机安装 打开powershell cd C:\Program Files\…

B02、关于垃圾回收器-6.2

1、关于 GC 的分类 1.1、串行 VS 并行 按线程数分,可以分为串行垃圾回收器和并行垃圾回收器。 串行回收指的是在同一时间段内只允许有一个CPU用于执行垃圾回收操作,此时工作线程被暂停,直至垃圾收集工作结束。 在诸如单CPU处理器或者较小的应…

【Leetcode】2009. 使数组连续的最少操作数

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 给你一个整数数组 n u m s nums nums 。每一次操作中,你可以将 n u m s nums nums 中 任意 一个元素替换成 任意 整数。 如果 n u m s nums nums 满足以下条件&…

记一次项目上某系统web渗透测试

第一个信息泄露漏洞 首先在登录页忘记密码处点击查询获取用户进行抓包可以获得用户的token固定id值 第二个用户名枚举漏洞 接下来就是批量遍历出存在数据库用户id值以及用户名,方便后面其他测试使用。 第三弱口令漏洞 这里对于爆破没有限制,因此根据获…

从零开始,教你如何用Java生成微信小程序二维码

Hello大家好我是咕噜铁蛋!你是否曾为生成二维码而烦恼过?别担心,今天我就来给你支招!,我将分享如何使用Java生成微信小程序二维码的方法,让你轻松应对二维码生成的需求。微信小程序是一种轻量级的应用程序&…