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

liftword3个月前 (02-08)技术文章27


下面是图片属性

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】

相关文章

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

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

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

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

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

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

python经典算法实践:回溯算法backtrack

回溯算法导读回溯法(back tracking)(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,...

16 个必知必会的 Python 教程!_python基础教程,python入门教程(非常详细)

  16 个必知必会的 Python 教程!  介绍  Python 是一门用途广泛的编程语言,它具有大量的库和框架。有一些鲜为人知的 Python 编码技巧和库可以让你作为开发人员的工作更为轻松,编...

用Python制作炫酷的专属二维码_python简单二维码生成代码

点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍,小窗口回复“资源”、“测试工具包”领取测试资源。本文5586字,阅读约需14分钟Hi,大家好。在此之前介绍过二维码如何测试:你...