图像表示方法

RGB表示

RGB是使用三基色合成的原理,我们看到的彩色图片,都有三个通道,分别为红、绿、蓝通道,如果需要透明度则还有alpha分量. 通常每个通道用8bit表示,8bit能表示256种颜色,所以可以组成 256256256=16777216=1677万种颜色。这里的8bit就是我们讲的位深。一张图片通常RGB的顺序进行排列,也有BGR方式排列。
在这里插入图片描述

YUV表示

RGB表示方式是针对三基色的方式,但是人眼睛感知并不能分别出那么细致的色度,因此,允许降低色度的带宽,从而出现了YUV的表示方式。
Y表示明亮度,也就是灰阶值,通过明暗能够描绘图形的轮廓。
U(Cb)表示色度分量: 是照片蓝色部分去掉亮度(Y).
V(Cr)表示色度分量: 是照片红色部分去掉亮度(Y).
YUV格式可以分为三个分量,即Y、U、V一一对应.
人眼对亮度敏感对色度不敏感,因此亮度分量Y的采样不变,但是色度分量U和V会被降低采样数。
YUV表示图像可以有多种排列方式,分别为:

紧缩格式(packed formats): 将YUV值连续存储,和RGB的方式类似。
平面格式(planar formats): 将YUV的三个分量分别存放在不同的矩阵中。

为了节省带宽起见,大多数YUV格式平均使用每个像素位都少于24位,主要的抽样格式有:

  1. 4:4:4表示完全采样, 三分分量都是8bit, 采样码流为: Y0 U0 V0, Y1 U1 V1, Y2 U2 V2。
  2. 4:2:2表示UV分量是Y分量采样的一半,采样码流为: Y0 U0 V1, Y1 U0 V1, Y2 U2 V3, Y3 U2 V3, 水平方向两个像素共用一对U/V值。
  3. 4:2:0采样,并不是指只采样U分量而不采样V分量,而是指,在每一行扫描时,只扫描一种色度分量(U或者V), 和Y分量按照2:1的方式采样。比如, 第一行扫描时,YU按照2:1的方式采样,那么第二行扫描时,YV分量按照2:1的方式采样。对于每个色度分量来说,它的水平方向和垂直方向的采样和Y分量比都是2:1, 如下图。
    在这里插入图片描述假如图片像素为:
[Y0 U0 V0]、[Y1 U1 V1]、 [Y2 U2 V2]、 [Y3 U3 V3] [Y5 U5 V5]、[Y6 U6 V6]、 [Y7 U7 V7] 、[Y8 U8 V8] 

那么采样的码流为:

Y0 U0 Y1 Y2 U2 Y3 Y5 V5 Y6 Y7 V7 Y8

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

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

相关文章

云服务器搭建GitLab

经验总结: 1、配置需求:云服务器内存最低4G 2、内存4G的云服务器,在运行容器后,会遇到云服务器操作卡顿问题,这里有解决方案 转载:服务器搭建Gitlab卡顿解决办法-CSDN博客 3、云服务器的操作系统会影响…

游戏开发,中小公司跳槽去大厂容易还是考研应届生校招容易?

游戏开发,中小公司跳槽去大厂容易还是考研应届生校招容易? 在之前的文章中,我们提到过,游戏开发行业首选直接进入游戏大厂。《开发者必读:如何选择适合的游戏开发公司?》因为大厂不仅能提供良好的职业发展…

#AIGC##LLM##RAG# RAG:专补LLMs短板_减少LLM幻觉并多模态/RAG 技术最新进展

RAG技术,即检索增强生成,标志着自然语言处理领域的重大进展。通过整合先前知识,它提升了大型语言模型的性能,广泛应用于多模态领域和垂直行业。本文深入探讨了RAG技术的演进历程、技术发展、LLMs问题及其解决方案,为读…

localStorage、sessionStorage、vuex区别和使用感悟

一、介绍及区别 localStorage的生命周期是永久;不手动在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。 sessionStorage的生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭,那么所有通过sessionStorage存…

[软件工具]AI软件离线表格识别工具使用教程图像转excel转表格可复制文字表格导出实时截图识别成表格

【官方框架地址】 https://github.com/PaddlePaddle/PaddleOCR.git 【算法介绍】 PaddleOCR是一个基于PaddlePaddle框架的开源光学字符识别(OCR)工具库,由百度公司开发。它提供了一套完整的OCR解决方案,包括文字检测、文字识别以…

中间件框架知识进阶

概述 近期从不同渠道了解到了一些中间件相关的新的知识,记录一下收获。涉及到的中间件包括RPC调用、动态配置中心、MQ、缓存、数据库、限流等,通过对比加深理解,方便实际应用时候更明确如何进行设计和技术选型。 一、RPC框架中间件系列 1、…

JavaWeb后端——Maven

maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理 maven项目对象模型简称POM, maven解决问题: 1. 添加第三方jar包,maven将 jar 包放在本地仓库中统一管理,使用时用坐标的方式引用即可 2. 解决 jar 包之间的依…

MIT 6s081 lab1:Xv6 and Unix utilities

Lab1: Xv6 and Unix utilities 作业网址:https://pdos.csail.mit.edu/6.828/2020/labs/util.html Boot xv6(easy) 下载,启动xv6系统 $ git clone git://g.csail.mit.edu/xv6-labs-2020 Cloning into xv6-labs-2020... ... $ cd xv6-labs-2020 $ git …

计算机网络——应用层(3)

计算机网络——应用层(3) 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU) 点对点(P2P)P2P网络一般用途优点缺点总结 套接字编程基本步骤UDP套接字TCP套接字基本步骤 二者对比 小程一言 我的计算机网络专栏,是自…

基于SSM的高校班级同学录网站的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

maven导入无法拉取所需依赖

maven导入无法拉取所需依赖 1.原因2.解决搞定收工&#xff01; 1.原因 公司使用的是gradle&#xff0c;配置的私有云&#xff0c;maven里面配置私有云完全使用不了&#xff0c;无论配置国内还是国外的&#xff0c;导入的项目报错拉不到jar包。 <mirror><id>mirro…

倒计时1天|解锁「PolarDB开发者大会」正确打开方式

1月17日 9:30-16:30 北京嘉瑞文化中心 PolarDB开发者大会 明天就要和大家就见面啦&#xff5e; 大会参会指南现已出炉 各位开发者们&#xff0c;请查收~ &#x1f447;&#x1f447;&#x1f447; 点击 大会主页 or 扫描上方二维码 一键抵达大会官网&#x1f447; 查看…

微服务接口工具Swagger2

##1、什么是Swagger? # 官网 https://swagger.io/核心功能 生成接口说明文档生成接口测试工具 2、SpringBoot集成Swagger2 1&#xff09;、添加依赖 <!-- swagger2 --><!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><depen…

数据绑定,defineProperty,v-on,事件处理

目录​​​​​​​ v-bind单向数据绑定 defineProperty 是v-on的简写 事件处理 v-bind单向数据绑定 从name绑定到v-bind到value单向数据绑定&#xff1a; <input type"text" :value"name"> <input type "text" v-model"na…

【GCC】6 接收端实现:周期构造RTCP反馈包

基于m98代码。GCC涉及的代码,可能位于:webrtc/modules/remote_bitrate_estimator webrtc/modules/congestion_controller webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.cc webrtc 之 RemoteEstimatorProxy 对 remote_bitrate_estimator 的 RemoteEstimato…

线性表的应用 | 线性表的合并

线性表的合并 #include <iostream> using namespace std;#define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2typedef int Status;// 定义单链表 typedef struct LNode {int data;struct LNode *next; }LNode, *…

网络文件共享服务

一.存储类型 直连式存储&#xff1a;Direct-Attached Storage&#xff0c;简称DAS 存储区域网络&#xff1a;Storage Area Network&#xff0c;简称SAN&#xff08;可以使用空间&#xff0c;管理也是你来管理&#xff09; 网络附加存储&#xff1a;Network-Attached Storage&…

代码随想录 Leetcode18. 四数之和

题目&#xff1a; 代码&#xff08;首刷看解析 2024年1月15日&#xff09;&#xff1a; class Solution { public:vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int>> result;sort(nums.begin(), nums.end(…

mac上部署单体hbase

1. 简介 HBase 是一个开源的、分布式的、版本化的典型非关系型数据库。它是 Google BigTable 的开源实现&#xff0c;并且是 Apache 基金会的 Hadoop 项目的一部分1。HBase 在 Hadoop Distributed File System (HDFS) 上运行&#xff0c;作为一个列式存储非关系数据库管理系统…

响应式编程初探-自定义实现Reactive Streams规范

最近在学响应式编程&#xff0c;这里先记录下&#xff0c;响应式编程的一些基础内容 1.名词解释 Reactive Streams、Reactor、WebFlux以及响应式编程之间存在密切的关系&#xff0c;它们共同构成了在Java生态系统中处理异步和响应式编程的一系列工具和框架。 Reactive Streams…