文章目录

  • 文件格式的角度
  • 图片深度
    • 深度
    • 像素值
    • 像素值范围
      • 8位
      • 16位
      • 24位
      • 32位
    • 单个原始颜色
  • 图片存储
    • 8bit
    • 24bit
    • 32bit
    • 16位
  • 色彩 16.7M

文件格式的角度

从文件格式角度看,一张图片可以保存为很多种不同的格式,比如bmp/png/jpeg/gif等等。

图片深度

从图片深度来看,图片可以分为8位, 16位, 24位, 32位等。

深度

右键单击图片属性->详细信息,即可查看图片位深度:

像素值

说的直白一些,图片可以看成是一个2维数组组成的矩形结构。每个格子里存放的是图片在此坐标处的像素的取值,即这一点的颜色值。

像素值范围
8位
2 8 2^82 
8
 = 2 2 ( B ) ∗ 2 3 ( G ) ∗ 2 3 ( R ) = 256 ( 色 ) 2^2(B) * 2^3(G)* 2^3(R) = 256(色)2 
2
 (B)∗2 
3
 (G)∗2 
3
 (R)=256(色)
总共显示256种颜色
取值范围:0~255

16位
2 16 = 2 5 ( B ) ∗ 2 6 ( G ) ∗ 2 5 ( R ) = 65536 ( 色 ) 2^{16} = 2^5(B)*2^6(G)* 2^5(R) = 65536(色)2 
16
 =2 
5
 (B)∗2 
6
 (G)∗2 
5
 (R)=65536(色)
总共显示65536种颜色
取值范围:0~65535

24位
2 24 = 2 8 ( B ) ∗ 2 8 ( G ) ∗ 2 8 ( R ) = 16777216 ( 色 ) 2^{24} = 2^8(B) *2^8(G) *2^8(R) = 16777216(色)2 
24
 =2 
8
 (B)∗2 
8
 (G)∗2 
8
 (R)=16777216(色)
总共显示16777216种颜色
取值范围:0~16777215

32位
32位:Alpha透明度 + 24位

单个原始颜色
当8/16位深度时,单个原始颜色 (R/G/B)最大只能表示为( 0 − 2 3 ) / ( 0 − 2 6 ) (0 -2^3 )/(0-2^6)(0−2 
3
 )/(0−2 
6
 ), 无法满足(0~0xff)的范围,所以显示的颜色范围有限。
当24位深度时,使用24bit显示一个像素点, 由8bit Red 8bit Green 8bit Blue组合颜色而成,每一个原始颜色(R/G/B)都可以完全显示(0~0xff),所以24位及以上,我们就叫做真彩色。
图片存储
首先需要知道计算机中的数据都是使用0,1表示出来的。即计算机中1位只能取值0或者1。

电脑磁盘空间 ,资源管理器内存占用都是B,以字节为单位,即分配内存块时以字节为单位进行分配。一个字节(Byte)占用8位(bit)。

计算机常见数据存储单位换算:
1GB=1024MB
1MB=1024KB
1KB=1024Byte(字节)
1Byte(字节)=8bit(位)

8bit
如果一个图片支持256种颜色(如GIF格式),那么就需要256=2^8 个不同的值来表示不同的颜色。也就是从0到255,用二进制表示就是从00000000到11111111,总共需要8位二进制数,所以颜色深度是8 Bit。

存储一个像素值需要1B的内存。
24bit
如果是BMP格式,每个像素可以支持RGB各8bit,即R8,G8,B8,不同的红绿蓝组合可以构成25 6 3 256^3256 
3
 种颜色,就需要3个8位的2进制数,总共24位,所以颜色深度是24 Bit。

存储一个像素值需要3B的内存。
32bit
还有PNG格式,这种格式除了支持24位的颜色外,还支持alpha通道(就是控制透明度用的),总共是32位,所以颜色深度是32 Bit。颜色深度越大,图片占的空间越大。

存储一个像素值需要4B的内存。
16位
较上面的比较复杂,每像素用16位表示,RGB分别为5bitR,6bitG,5bitB的组合。

存储一个像素值需要2B的内存。
色彩 16.7M
色彩16.7M意思是支持显示最大色彩数量为1670万,即可以显示1670万种不同的颜色。“M”是百万的意思,是英文million的缩写。16.7M=16.7百万=1670万。

显示器一般用二进制来表示颜色。16位色的发色总数是65536色,也就是2的16次方;24位色被称为“真彩色”,它可以达到人眼分辨的极限,发色数是1677万多色,也就是2的24次方。一般所有显示器或液晶电视都会标注这个值。

显示器的像素由RGB三基色组成,低端的显示器各个基色只能表现6位色,即2的6次方=64种颜色,可以计算出每个独立像素可以表现的最大颜色数是64×64×64=262144种颜色。

中高端液晶显示器利用FRC技术使得每个基色则可以表现8位色,即2的8次方=256种颜色,则像素能表现的最大颜色数为256×256×256=16777216种颜色,这种显示板显示的画面色彩丰富,层次感好。高端显示器的分辨率较中端显示器要更高。

除了16位色、24位色之外,现在越来越多的显示器采用32位色。32位色并非是2的32次方的发色数,它其实也是1677万多色,不过它增加了256阶颜色的灰度,为了方便称呼,就规定它为32位色。色彩过渡更自然,色彩表现力更好,屏幕更细腻。

在同样大小的屏幕分辨率越高就显示得越清楚,所以,如果同样大小的屏幕分辨率低的话就算显示1600万色也没有分辨率高的26万好。例如:同样材质制作的2.4英寸的TFT屏幕、240×320的分辨率,那么1600万色要好于26万色和6.5万色。

学习:色彩16.7M

————————————————
版权声明:本文为CSDN博主「WaitFoF」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41498261/article/details/104898045

理解图像深度:8bit、16bit、24bit、32bit; 16.7M色彩相关推荐

  1. 将HBITMAP转换成BMP位图文件的各个部分,可以在1BIT,4BIT,8BIT,16BIT,24BIT,32BIT之间转换

    VC将HBITMAP转换成BMP位图文件的各个部分,可以在1BIT,4BIT,8BIT,16BIT,24BIT,32BIT之间转换 http://blog.ednchina.com/wxleasyla ...

  2. python 16bit转8bit的工具_python存储16bit和32bit图像的实例

    笔记:python中存储16bit和32bit图像的方法. 说明:主要是利用scipy库和pillow库,比较其中的不同. ''' 测试16bit和32bit图像的python存储方法 ''' imp ...

  3. opencv 图像深度depth的理解

    我们在创建mat的时候,可以选择的CvType中有很多的选项 CV_8UC1 CV_8SC1 CV_16U C1 CV_16SC1 CV_8UC2 CV_8SC2 CV_16UC2 CV_16SC2 ...

  4. python存储16bit和32bit图像

    笔记:python中存储16bit和32bit图像的方法. 说明:主要是利用scipy库和pillow库,比较其中的不同. ''' 测试16bit和32bit图像的python存储方法 ''' imp ...

  5. bmp格式 8bit与24bit深度相互转换

    bmp格式 8bit与24bit相互转换 一.实验要求 在图像处理软件中生成8bit和24bit深度的BMP文件,编写程序实现不同像素深度文件的相互转换.重点掌握函数定义.缓存区分配.倒序读写.结构体 ...

  6. c++下Gdal将16bit的tif图像转8bit

    c++下Gdal将16bit的tif图像转8bit [使用软件及版本]Gdal4.x(含proj等),vs2019 打包完的,到手即用. 头文件(仅罗列关键文件,其他基础自行添加) #include ...

  7. 16bit图像任选8bit显示

    C++之取出一个字节中的某几位 把一个16位的变量的高8位和低8位取出来 C/C++ 16bit转8bit 16bit灰度图像映射到8bit显示 RGB转8色16色256色

  8. opencv关于图像深度转换的一点理解

    常用图像深度如下: 图像类型 数据类型 字节 取值范围 显示范围 CV_8U unsigned char 1 0~255 0~255 CV_8S char 1 -128~127 -128~128 CV ...

  9. 图像深度(Image Depth)

    图像深度是指存储每个像素所用的位数,他也是用来度量图像的色彩分辨率的.他确定了彩色图像的每个像素可能有的色彩数,或者确定灰度图像的每个像素可能有的灰度级数.他决定了色彩图像中可能出现的最多的色彩数,或 ...

最新文章

  1. iOS 11开发教程(二)编写第一个iOS 11应用
  2. Eclipse之Undefined attribute name 警告解决办法
  3. Spring是如何注解的
  4. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_5_Stream流中的常用方法_map...
  5. 燃烧的远征服务器排队小程序,你还在让顾客排队吗?试试小程序吧!让顾客不再排队!...
  6. animate cc mysql,Vue 动画渲染
  7. 异常事件检测论文汇总(Abnormal Event Detection)
  8. matlab修复模糊图片论文,图像算法论文,关于运动模糊图像复原算法相关参考文献资料-免费论文范文...
  9. 【高分励志电影合集】
  10. 戴尔笔记本inspiron5488增大内存
  11. SaaS,iass 和pass,你知道吗?
  12. 一只青蛙一次可以跳一级或二级台阶,请问跳n级台阶有多少次跳法之斐波那契数列的非递归写法
  13. 从李嘉图定律看程序员的收入差距
  14. matlab带延迟环节的单位阶跃响应,典型环节的单位阶跃响应.doc
  15. <C++> 通讯录管理系统(纯手写含源码)
  16. 如何查看浏览器已经记录的密码
  17. 电气防火限流式保护器在火灾预防中的应用
  18. 2013年第四届蓝桥杯国赛试题及详解(Java本科B组)
  19. 知其所以然之Nacos配置中心源码浅析
  20. 微信小程序从零开始开发步骤

热门文章

  1. 基于hadoop实现的关联规则挖掘的图书数据分析推荐系统
  2. 卖方研究正临多重困境:万八佣金有待终结,分仓模式屡被敲打,未来谁为研究买单?多家券商开单转型
  3. RSA加密与解密简单实现
  4. 橡皮筋类(CRectTracker)
  5. php地址隐藏最快的办法,就是这么简单!拿快车破译php?隐藏下载地址
  6. python电子版笔记_python学习笔记-电子书
  7. MVP模式从入门到精通
  8. 计算机网络ip数据包分析题,计算机网络课程设计_IP数据包的捕获及分析.doc
  9. 全志A33学习笔记及问题汇总
  10. 汇丰软件测试英语面试,汇丰笔试 - Beyond my life. - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...