Python学习笔记第一篇(2021年12月14日)——图像的位深度

liftword4个月前 (02-08)技术文章33


下面是图片属性

1、位深度是什么?

位深度是指在记录数字图像的颜色时,计算机实际上是用每个像素需要的位深度来表示的。计算机之所以能够显示颜色,是采用了一种称作“位”( bit ) 的记数单位来记录所表示颜色的数据。当这些数据按照一定的编排方式被记录在计算机中,就构成了一个数字图像的计算机文件。“位”( bit )是计算机存储器里的最小单元,它用来记录每一个像素颜色的值。图像的色彩越丰富,“位”就越多。每一个像素在计算机中所使用的这种位数就是“位深度”。【摘自:百度百科】

在记录数字图像的颜色时,计算机实际上是用每个像素需要的位置深度来表示的。

1)黑白二色的图像是数字图像中最简单的一种,它只有黑、白两种颜色,也就是说它的每个像素只有1位颜色,位深度是1,用2的1次幂来表示;

2)考虑到位深度平均分给R, G, B和Alpha,而只有RGB可以相互组合成颜色。所以4位颜色的图,它的位深度是4,只有2的4次幂种颜色,即16种颜色或16种灰度等级 ) 。

3)8位颜色的图,位深度就是8,用2的8次幂表示,它含有256种颜色 ( 或256种灰度等级 )。

4)24位颜色可称之为真彩色,位深度是24,它能组合成2的24次幂种颜色,即:16777216种颜色 ( 或称千万种颜色 ),超过了人眼能够分辨的颜色数量。当我们用24位来记录颜色时,实际上是以2^(8×3),即红、绿、蓝 ( RGB ) 三基色各以2的8次幂,256种颜色而存在的,三色组合就形成一千六百万种颜色。

8位颜色的图,位深度就是8,用2的8次幂表示,它含有256种颜色 ( 或256种灰度等级 )。 更通俗地讲,8位颜色的图,每个存储1个像素一般可存放8位二进制。也就是8个01进行排列组合,排列组合的结果有2的8次幂=256种颜色。我们把每个像素可表示颜色的2的幂指数称为深度。

2、理解位深度的要点:(注意,计算机只能理解0或1组成的机器语言,每个单位就bit)

注意如下转换公式:

1)1bit位时:每个像素用1bit位表示,有2或1两种选择,分别代表黑或白。

2^1=2(黑或白2种颜色)

2)8bit位时: 2^8 = 2^2(B) 2^3(G) 2^3(R) = 256 (256色) 可以总共显示256种颜色

3)16bit位时:2^16 = 2^5(B) 2^6(G) 2^5(R) = 65536 可以总共显示65536种颜色

4)24bit位时:2^24 = 2^8(B) 2^8(G) 2^8(R) = 16777216 可以总共显示16777216种颜色

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

当8-16位深度时,单个原始颜色 (R/G/B)最大只能表示为(0~2^3)/(0~2^6), 无法满足(0~0xff)的范围,所以显示的颜色范围有限。

当24位深度时,使用24bit显示一个像素点, 由8bit Red 8bit Green 8bit Blue组合颜色而成,每一个原始颜色(R/G/B)都可以完全显示(0~0xff),所以24位及以上,我们就叫做真彩色

当32位深度时,与24位相同,可以显示所有的颜色,同时多了一个透明度值。

【参考:原文链接:
https://blog.csdn.net/csdn66_2016/article/details/82850695】

相关文章

概率分布与编程:二项式分布、泊松分布的原理,Python3如何实现

在说二项式分布之前,先来复习一下排列组合的概念,尤其是组合(Combination) C。排列的定义:从n个不同元素中,任取m(m≤n,m与n均为自然数,下同)个不同的元素按照一定的顺序排成一列,叫做...

用python开发一个炸金花小游戏,注意别玩上瘾了

大家好,我是才哥。众所周知?扑克牌可谓是居家旅行、桌面交友的必备道具,今天我们用 Python 来实现一个类似炸金花的扑克牌小游戏,先来看一下基本的游戏规则。炸(诈)金花又叫三张牌,是在全国广泛流传的...

按照概率学原理,你这牌一看就胡不了

撰文 比邻星春节假期,独乐乐不如众乐乐。如果要选择一种声音代表新春佳节的团聚,除了噼里啪啦的鞭炮、杯盏相碰的清脆,一句“三缺一”和麻将桌上哗啦啦的搓麻声必定占有一席之地。麻将在不同段位的玩家眼中代表着...

林俊杰的元宇宙房地产塌房,周杰伦站台的NFT稀碎

萧箫 发自 凹非寺量子位 | 公众号 QbitAI元宇宙房产和NFT暴跌,明星也拦不住。林俊杰花50多万元在元宇宙买下的三块虚拟地产暴降80%,跌到9万多元。这些地产如今访问量几乎为零,周围也完全没有...

Python整数类型(int)详解_python中整数类型

整数就是没有小数部分的数字,Python 中的整数包括正整数、0 和负整数。有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,开发者要根据实际数字的大小选用不同的...