图像编码


二进制#

二进制#

众所周知,计算机内部采用二进制来表示和处理数据。这是因为很多理想的物理介质,状态都有二元特性。

  • 磁性物质:有磁性,或无磁性;

  • 电压:高电压,或低电压;

  • 灯泡:亮,或不亮;

由于这样显著的二元特征,采用二进制数系统,也就不奇怪了。

在二进制中,只有两个数字 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