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

liftword2个月前 (02-08)技术文章16


下面是图片属性

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 中,循环的高阶写法通常借助一些内置函数、生成器表达式以及高级的库,能够让代码更加简洁、优雅。以下是几种常见的高阶写法:1. 列表推导式(List Comprehension)列表推导...

Python常用算法学习(7) 动态规划,回溯法(原理+代码)-最全总结

引言:从斐波那契数列看动态规划  斐波那契数列:Fn = Fn-1 + Fn-2 ( n = 1,2 fib(1) = fib(2) = 1)练习:使用递归和非递归的方法来求解斐波那契数列的第 n 项...

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

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

原理 + 代码|手把手教你用Python实现智能推荐算法

推荐系统将成为未来十年里最重要的变革,社会化网站将由推荐系统所驱动。 --- John Riedl明尼苏达大学教授前言智能推荐和泛的营销完全不同,后者是将产品卖给客户作为最终目标;而智能推荐是以“客户...

Python语言常用技巧汇总_python语言的常用语句

一、列表操作技巧列表推导式 # 传统循环 squares = [] for x in range(10): squares.append(x**2) # 列表推导...