《计算机图形学基础》之图像的光栅化

2021-05-20  本文已影响0人  烂醉花间dlitf

输出设备

输出设备主要分两种,一种是 显示屏 类的,一种是 打印机 类的。
显示屏也也分为两种:

打印机不重要,当科普看看~ 分为两种:

打印机的分辨率不好确定,因为跟纸的移动速度有关,对热敏打印机这类能打印连续颜色的设备来说,一般的标准是打印头上每英寸多少像素(pixels per inch / ppi)。对于喷墨式这种不能连续的设备来说,一般的标准是每英寸多少个点(dots per inch / dpi)。

输入设备

所有的不是通过电脑计算出来的图像,都需要先用光栅化输入设备获取,一般是 数码相机扫描仪
如果一个相机的分辨率是 3000*2000,那么一般称他为 600 万像素(6 MP)。可以独立测量红绿蓝的相机要比只有一个马赛克传感器的好(mosaic sensor)。对于扫描仪而已,指标一般跟连续性打印机一样,每英寸多少像素(ppi)。

图像、像素和几何

一个像素是一个采样点,对于数码相机来说,一个像素就是这个格子周围的光的平均,对于输出设备来说也是,这个像素只是代表这一小块方格的平均,比如说,一个屏幕只有一个像素,用它来显示一张图片,只能是纯色,纯色不能代表这张图片,只能代表一个平均值。
确定像素矩阵的坐标是很重要的,约定使用下面的方式:


但是注意这不是共识,有的 API 的 Y 轴正方向是朝下的,有的原点在左上角(这是因为历史原因),有的会将整体移动半个格子。
每个像素内会存储一个灰度值(黑白照片)或者 3 个 RGB 值(彩色照片),需要精度很高的时候,每个值会使用 32 位的浮点数来存储,那么对于一个千万像素的彩色图片来说,需要的存储空间就是 (10000000*3*4/(2^20))MB = 114.44MB。这种使用浮点数存储的具有一个广阔的颜色范围,我们称之为 高动态范围(high dynamic range / HDR);相对的是 固定范围低动态范围(low dynamic range / LDR),比如使用 8 bit 存储的,那么它的范围只有 0-255。介绍一下常用设备的存储格式:(固定范围就是指有固定的数量的,0-255 这种,相对来说,浮点数就不能说有几个值)

显示器强度和伽马值

我们把显示器关闭当成 0,把显示器打开当成 1,中间 0.5 是灰色。需要明确一点,显示器对于输入的数值和显示出的强度并不是线性对应的,比如说,分别输入 0,0.5,1,那么显示器输出的强度有可能是 0,0.25,1。对于这种非线性,显示器通常会有一个伽马值来表述。公示为:

输出强度 = 最大强度*(输入值^伽马值)

比如说,输入值为 0.5,伽马值为 2,那么输出强度为最大强度的 1/4。输入强度为 0 的时候就是 0,1 的时候就是最大强度。可以通过一些方法来确定某块屏幕的伽马值,我们假设已经知道了。这样就可以对输入进行 伽马校正,也就是使得输入值为 0.5 时,输出强度也恰好是黑与白的一半。也就是把输入和输出变成一个近似线性的对应关系。
另一个需要注意的是,屏幕的显示颜色范围都是固定大小的,一般是 0-255,也就是 8-bit 的存储器。

RGB 颜色

RGB 是加色模式,全部混合是白色,可以理解为是光;青品黄是减色模式,全部混合是黑色,可以理解为是颜料;我们不需要关心青品黄。一般都是 24-bit 的颜色系统,也就是 8bit * 3,每个分量有 255 个等级。


红绿蓝,青品黄

透明混合

对于不透明的物体,前景会直接覆盖后景;对于半透明的物体,一般会将前景和后景进行混合,一般描述一个颜色都是 RGBA,这里的 A 是指 α,指的就是与后景的混合程度。公式为:

新的颜色 = α*前景色 + (1-α)*后景色

可以看出 0 的时候全部都是后景色,1 的时候全部都是前景色。



(注意并不只有这一种混合模式,你看 ps 里面图层的叠加方式,正常/正片叠底/线性减淡之类的)

图像存储

大部分图像都是使用 8-bit 来存储每个通道,这样的话一个 100 万像素的图片大概就是 3M 左右。为了降低存储空间,有时会将图片进行压缩,有的压缩是有损压缩,不可逆的,有的是无损压缩。常见的图像存储格式有:

上一篇 下一篇

猜你喜欢

热点阅读