图形学 | 蓄势待发!说一说图片相关的那些概念

简介: 图形学 | 蓄势待发!说一说图片相关的那些概念

前言


  • 在深入理解图片底层原理的过程中,会接触到各种概念,今天我们简单梳理一下。
  • 如果能帮上忙,请务必点赞加关注,这真的对我非常重要。


目录

image.png

1. 存储形式


图像的主要存储形式分为:File、Stream、Bitmap


2. 图片分类


2.1 有损压缩 & 无损压缩


所谓损失指的是图片的质量,根据压缩过程是否损失图片质量分为两种:


  • 有损压缩(Lossy compression)

压缩过程中损失图片的一部分信息 / 质量,而这种损失是不可逆的。最常见的有损压缩手段是矢量量化,即按照一定的算法将颜色相似的一块区域合并为同一种颜色。

举例:JPEG。


  • 无损压缩(Lossless Compression)

压缩过程中优化冗余数据,而这种优化不会造成图片质量损失。

举例:PNG。


2.2  位图 & 矢量图


  • 位图(Bitmap,又称点阵图、栅格图)
  • 通过像素阵列的排列来来显示图像;
  • 像素是位图的最小单位,每个像素都有自己的颜色信息;
  • 位图缩放会是增大 / 缩小单个像素,会出现失真(锯齿)。

举例:JEPG、PNG、GIF、WebP。


  • 矢量图(Vector)
  • 通过记录图像元素的形状和颜色的算法,根据算法运算来显示图像;
  • 无限放大缩小不失真。

举例:SVG。


2.3 直接色 & 索引色


  • 直接色(Index Colour)

像素数据数值本身就代表一种颜色,例如一个 ARGB 颜色类型的数值0xFFFF0000就代表正红色。


  • 索引色(Direct Colour)

像素数据本身不代表颜色,而是一个指向颜色索引表的索引号。索引色格式适用于图像颜色类型较少的情况,相对于直接色能够大大缩小文件大小。

image.png

image.png


引用自 developer.android.com/topic/perfo… —— Android Developers


3. 色彩


3.1 色彩深度(Bit Depth)


表示像素能呈现的颜色数量,一般用数据位数表示。例如 8 bit 色彩深度,就是把每种颜色通道分为 256 种不同强度等级,所以 RGB 三种颜色通道加起来一共可以表示2242^{24}224种颜色。


3.2 色彩空间(ColorSpace)


又称色域(Color Gamut),表示像素能涵盖的色彩范围,主要有以下几种:


  • CIE XYZ


1931 年,国际照明委员会(CIE)在测得三原色的准确波长后,定义了一个 XYZ 色彩空间,第一次表示出了人类肉眼可见的色彩范围。


image.png

经过数学运算之后可以转换为这张更直观的 CIE XY 色度图:


image.png

  • sRGB

目前互联网上最常见的色域标准,大概覆盖了 35% 的CIE XYZ 色彩空间。


  • YUV

主要用于表示彩色视频的色彩空间(节省带宽,每个像素位深最大不超过 12 位,最小为 6位)


  • CMYK

主要用于彩色印刷的色彩空间。

image.png


引用自 baike.baidu.com/item/%E8%89… —— 百度百科


4. 文件格式


Editting...

GIF位深为8位,所以文件通常较小,而且支持alpha通道以及动画 Webp在等质量大小上和等大小清晰度上都占极大优势 SVG由xml描述,可以适配任何分辨率而保证图像不失真 所以图片压缩主要是针对PNG和JPEG这两种格式


png压缩采用libpng进行压缩,主要场景为编译阶段以及api层调用 jpeg压缩采用libjpeg(Android7后是)进行压缩,主要场景为api层调用

目录
相关文章
|
8月前
|
安全 算法 数据安全/隐私保护
恶意软件盯上Mac:利用苹果安全工具发起攻击
恶意软件盯上Mac:利用苹果安全工具发起攻击
|
12月前
|
存储 SQL 分布式计算
大数据中结构化数据
【10月更文挑战第18天】
523 4
|
11月前
|
数据可视化 定位技术
OKR:如何将战略目标拆解成可执行的团队任务
在现代职场中,方向不明和目标模糊常使团队陷入困境。OKR(目标与关键结果)的引入,如同“人生GPS”,不仅让工作更加有序,还帮助团队重拾奋斗的意义。通过明确大方向、拆解目标及搭建透明看板,OKR实现了目标清晰、过程透明、结果可衡量,有效提升了团队的执行力和士气。
457 1
OKR:如何将战略目标拆解成可执行的团队任务
|
11月前
|
缓存 负载均衡 网络协议
|
11月前
|
传感器 监控 物联网
新兴技术发展趋势与应用场景###
本文探讨了物联网(IoT)和虚拟现实(VR)这两项新兴技术的发展趋势及其在各行业的广泛应用。物联网通过智能设备互联实现实时数据监控与管理,广泛应用于智能家居、智慧城市和工业自动化领域。虚拟现实提供沉浸式体验,已深入游戏、教育、医疗等行业,显著提升互动性和效率。随着5G普及和技术融合,未来这些技术将进一步推动智能化发展,改变生活和工作方式。 ###
|
运维 监控 网络协议
|
SQL 前端开发 Java
springboot项目中使用shiro实现用户登录以及权限的验证
这篇文章详细介绍了如何在Spring Boot项目中集成Apache Shiro框架来实现用户登录和权限验证,包括项目依赖配置、数据库连接、实体类定义、控制器、服务层、Mapper层以及前端页面的实现,并展示了实际效果和过滤器代码。
springboot项目中使用shiro实现用户登录以及权限的验证
|
存储 SQL 缓存
实时数仓 Hologres产品使用合集之如何查看每个表的文件数和占用磁盘大小
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
网络协议 算法 网络架构
|
关系型数据库 MySQL 大数据
MySQL分区与分表:优化性能与提升可扩展性
本文深入探讨了MySQL数据库中的分区与分表策略,通过详细的代码示例,解释了分区的概念与用途、不同的分区类型以及创建分区表的步骤。同时,文章还介绍了分表的概念、策略和实际操作方法,以代码演示展示了如何创建分表、插入数据以及查询数据。分区和分表作为优化数据库性能和提升可扩展性的关键手段,通过本文的阐述,读者将能够深入了解如何根据数据特点选择合适的分区方式,以及如何灵活地处理大量数据,提高查询和维护效率。这些技术将为数据库设计和优化提供有力支持,确保在大数据场景下能够高效地管理和查询数据。
2542 0