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

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


前言

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


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

计算机用二进制存储和表示数字,基本单位为字节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表示 2 8 = 256 2^8=256 28=256,也就是像素的取值范围是0~256,其他的范围以此类推。
在这里插入图片描述

那么根据上面的数值,我们可以轻易的计算出,一副1920*1080的图片,在无损存储的情况下,使用8bit类型存储,所占用的空间是 1920 ∗ 1080 ∗ 1 B ( 8 b i t ) = 2073600 B = 2.1 M 1920*1080*1B(8bit)=2073600B=2.1M 192010801B(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深度的彩色图进行存储,二者不一样。

总结

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

猜你喜欢

转载自blog.csdn.net/Gastby_/article/details/127932637