图像编码
二进制#
二进制#
众所周知,计算机内部采用二进制来表示和处理数据。这是因为很多理想的物理介质,状态都有二元特性。
磁性物质:有磁性,或无磁性;
电压:高电压,或低电压;
灯泡:亮,或不亮;
由于这样显著的二元特征,采用二进制数系统,也就不奇怪了。
在二进制中,只有两个数字 0 和 1 ,可以由其中的一种状态来表示。由于二进制中只有两个数字,因此采用逢二进一,可类比十进制中的逢十进一。
n位二进制最多可以表示2的n次方中不同信息。
位图#
位图又称为点阵图,是由像素组成。像素的不同排列和染色组成不同的图像。日常见到的大多数图像都是位图,格式包括BMP、GIF、TIF、JPG、PNG等。
像素#
像素是构成图像的最小单位。
分辨率#
图像中像素的数量。
.. image:: teapot.png :scale: 50%
上图茶杯的图像横向方向有16个像素,纵向方向有12个像素。该图像的分辨率:16x12=192
像素编码#
像素编码是指用二进制来表示像素的颜色。
.. image:: color_code.png :scale: 50%
位深度:像素编码的二进制位数。位深度决定了图像所包含的最大颜色数。
.. note::
像素为深度为N,则像素颜色最多可以有2^N种不同的可能性。
矢量图#
矢量图使用直线和曲线等属性来描述图形,是通过数学公式获得的。矢量图经常用来做为商标Logo图像使用。
.. note::
位图优点是色彩丰富,缺点是位图放大之后会模糊失真。矢量图优点是无论放大、缩小或者旋转等都不会失真,缺点是难以表现色彩层次丰富的逼真图像效果。
.. code-block:: text
问题1: 16色位图,每个像素需要几位二进制来表示?
答案:4
.. code-block:: text
问题2: 一个分辨率为16*16的16位位图需要占用多少字节?
解答:分辨率1616表示有256个像素点,每个像素点用16位编码,所以总共需要用25616(位)进行编码。
所需字节:256*16/8 = 512字节
.. code-block:: text
问题3: 一个分辨率为16*16的16色位图需要占用多少字节?
解答:分辨率1616表示有256个像素点,16色位图说明每个像素点用4位编码,所以总共需要用2564(位)进行编码。
所需字节:256*4/8 = 128字节
课件下载:Image