提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、计算机存储的底层知识
  • 二、图片
    • 1.图片像素
    • 2.图片存储类型(图片深度)
  • 总结

前言

学习计算机视觉两年多了,发现最底层的图像知识始终没有搞透彻,今天借着这篇博客把自己所查阅的资料和尝试的计算做一个记录。


一、计算机存储的底层知识

计算机用二进制存储和表示数字,基本单位为字节B(Byte),最小单位是位(bit)。8位bit组成一个字节,能够容纳一个英文字符

单位换算:

  • 1 Byte(B) = 8 bit(位)
  • 1024 B = 1 KB
  • 1 KB = 8 Kb (网络运营商常用伎俩)
  • 市场上计算空间一般使用近似值1000来代替1024位

该部分的概念是后面理解图片大小计算和存储方式的基础,认真看!

二、图片

1.图片像素

像素(Pixel)是图像中的最基本单位,对于三位图像则使用体素(Voxel)来表示,其含义来源于Picture/Volumn + Element。
通常大家会认为像素越高,画质越好,但是像素的概念是相对的,并不是像素越高越好,而是相同图像尺寸的情况下,像素越多,图像的质量就越好。
打个比方,一杯水和一壶水(两个不同尺寸的图片),放同样的糖(像素相同),哪一个更甜(图像质量好)?
图像质量的一个硬指标就是图像分辨率,单位为像素每英寸(PPI),指的是每英寸图像内有多少个像素点。

2.图片存储类型(图片深度)

图片存储类型可分为8bit,16bit,32bit,8bit RGB,RGB等。前三个的含义分别表示图片中每个像素点在计算机中存储所占用的空间大小。

  • 8 bit,一个像素点占用8bit,即1B
  • 16 bit,一个像素点占用16bit,即2B
  • 32 bit,一个像素点占用32bit,即4B

深层挖掘8 bit, 16 bit, 32 bit的含义,需要从图像在计算中的存储形式来解释。我们知道图片在计算机中是以矩阵的形式存储的,每一个格子内都存储的是该像素点的像素值,而像素值是有一个取值的范围的,8 bit表示28=2562^8=25628=256,也就是像素的取值范围是0~256,其他的范围以此类推。

那么根据上面的数值,我们可以轻易的计算出,一副1920*1080的图片,在无损存储的情况下,使用8bit类型存储,所占用的空间是1920∗1080∗1B(8bit)=2073600B=2.1M1920*1080*1B(8bit)=2073600B=2.1M1920∗1080∗1B(8bit)=2073600B=2.1M,而使用其他类型存储的大小,大家可以自行计算。

对于8 bit RGB类型,则表示图片存在256种颜色可供选择,而直接使用RGB,则有1600万种颜色可供选择,因此RGB格式的图片比8bit RGB格式的图片显示的效果丰富的多得多。
在这里需要补充的两个注意点是:

  • 存储的图像需要时tif等无损的图片格式,计算的大小才是正确的,如果使用jpg等格式,图片的大小会比你计算出来的小很多,因为这些格式对图片进行了压缩。
  • 当我们说8 bit, 16 bit, 32 bit的时候,默认都是以灰度的形式存储图片,即丢掉其他通道的信息,而8 bit RGB则强调,使用的是8 bit深度的彩色图进行存储,二者不一样。

总结

以上就是关于图片像素、图片大小、图片存储类型等概念的总结,后续有遗漏的部分会慢慢补充,欢迎评论区交流。

一文搞懂图片像素、图片大小、图片存储类型等概念和计算相关推荐

  1. html如何改变图片比例,如何更改图片像素和大小

    更改图片像素和大小的方法:首先右击图片,选择"打开方式",选择"画图":然后点击画图软件任务栏中的"重新调整大小":最后选择任务栏上的&qu ...

  2. 如何修改图片像素尺寸大小?如何改图片大小尺寸?

    修改图片尺寸是一项常见的图片处理技术,可以帮助我们将图片调整为不同的尺寸,以适应不同的用途.在进行修改图片大小(https://www.yasuotu.com/size)的时候,需要注意照片的比例.设 ...

  3. 怎么在线调整图片像素和大小?一分钟学会图片尺寸修改

    现在从社交媒体到网站设计,再到印刷品等多种用途,有时候您可能进行图片尺寸修改(https://www.yasuotu.com/size)以适应特定的需求,本文将介绍怎么在线调整图片大小,帮助您轻松地修 ...

  4. 一文搞懂 Cocos Creator 3.0 坐标转换原理

    一文搞懂 Cocos Creator 3.0 坐标转换原理 屏幕坐标 UI 触点坐标 UI 多分辨率适配方案 UI 触点获取 不同坐标之间的转换 屏幕坐标与 3D 节点世界坐标互转 3D 节点之间的坐 ...

  5. 一文搞懂Qt中的颜色渐变(QGradient Class)

    一文搞懂Qt中的颜色渐变(QGradient Class) 1, 快速开始! Qt中与颜色渐变有关的类是QGradient 其中它又有三个子类:QLinearGradient.QRadialGradi ...

  6. 一文搞懂什么是 PostCSS

    一文搞懂什么是 PostCSS 在 Web 应用开发中,CSS 代码的编写是重要的一部分.CSS 规范从最初的 CSS1 到现在的 CSS3,再到 CSS 规范的下一步版本,规范本身一直在不断的发展演 ...

  7. 一文搞懂如何使用ArcGIS API for Python训练深度学习模型

    一文搞懂如何使用ArcGIS API for Python训练深度学习模型 文章目录 一文搞懂如何使用ArcGIS API for Python训练深度学习模型 写在前面 一.ArcGIS API f ...

  8. 一文搞懂两表关联时left join 、 on 以及where条件不同写法对结果的影响--文末有结论

    一文搞懂两表关联时left join 与 on 以及where条件不同写法对结果的影响–文末有结论 1.数据准备(建议使用本地mysql) a表: b表: 建表语句: Create EXTERNaL ...

  9. 【显卡】一文搞懂显卡

    [显卡]一文搞懂显卡 文章目录 [显卡]一文搞懂显卡 1. 前言介绍 1.1 CPU和显卡的区别 1.1.1 作用不同 1.1.2 结构不同 1.1.3 应用场景不同 1.2 三个著名的显卡公司 2. ...

最新文章

  1. 【力扣网练习题】回文数
  2. 提高php编程效率的小结
  3. html刷新页面出现412,html5-video – 如何修复412(前置条件失败)错误HTML5视频标记
  4. 《JavaScript高效图形编程(修订版)》——6.10 用画布sprites取代DHTMLsprite
  5. java 当一个文本框有值时另一个文本框置灰_【农行DevOps进行时】基于PaaS的持续集成/持续交付实践 | IDCF...
  6. 分段线性插值c语言程序_【短道速滑】OpenCV中cvResize函数使用双线性插值缩小图像长宽大小一半时速度飞快(比最近邻还快)之异象解析和自我实现。...
  7. B/S应用中的ActiveX数字签名相关问题杂谈
  8. python之模块的导入和用户的交互格式化输出
  9. react-native学习小结
  10. vue实现元素过渡效果
  11. css中的vw/vh与%
  12. Material Design系列之BottomNavigationView详解
  13. Java进阶学习路线图
  14. 解析低压差线性稳压器(LDO)在摄像头应用中的创新设计
  15. 密码学之数字签名是什么
  16. 圆满落幕!回顾 eBPF 技术的发展与挑战
  17. C# 之 随机数应用 -- 洗牌算法
  18. Navicat For MySQL简体中文版 V8.2.20注册码
  19. 新建表的时候:关键字已定义; 字段 CSMC 可能不在关键字中
  20. spring boot2.X word转pdf

热门文章

  1. 华师大 OJ 2947
  2. 教你查询跟踪多个快递单号物流的更新量
  3. winform 处理tabcontrol控件,隐藏顶部的tab标签,及tabcontrol的边框线
  4. php网站手机打开排版,手机上也可以轻松做出杂志般的精美排版
  5. 【国产化】银河麒麟V10 aarch64 + TiDB国产化环境下安装EduSoho
  6. 单调递增的数字java
  7. CentOS7开机自启动Tomcat
  8. AUC(Area under curve 即Roc曲线下面积)总结
  9. 计算机原理课程设计模拟cpy,山东大学-计算机组成原理课程设计报告样例
  10. 卸载驱动模块:已经在/lib目录下建立相应文件夹仍无法实现