计算机图形学
处理彩色图像
颜色的属性:
色相(Hue)即色彩的面貌,色相的区别是由光波波长的长短决定的。
亮度也称为透明度(brightness)
纯度(purity)也称为饱和度(saturation)。当图像的把配合度为0的时候,图像就会变成一个灰度图像,反之亦然。
色相和纯度两种特征混合后形成的属性又称为色度(Chromaticity),也称为色品。
常用的色彩空间
- RGB色彩空间(红(red),绿(green),蓝(blue))
- CMY/CMYK颜色空间(青(Cyan),品红(Magenta),黄(Yellow))
- HSV/HSB颜色空间(色相(Hue),饱和度(saturation),明度(Value),亮度(brightness))
- HSI/HSL颜色空间(色调(Hue),饱和度(saturation),强度(Intensity),明亮程度(Luminance))
- YUV/YCbCr颜色空间
颜色模型
什么是颜色?
什么是颜色模型?
- 也就是说颜色模型(空间),表示颜色的一种数学方式。
- 几乎所有的颜色模型都是从RGB颜色模型导出。
常用的颜色模型
- RGB颜色工业模型
- 其他颜色工业模型
- YIQ
- YUV
- YCbCr
- 其中,Y分量均代表黑白亮度分量,其余分量用于显示彩色信息。
- 颜色视觉模型(HSI)
- 色调(Hue):物体反色光线中占据优势的波长决定的,是彩色互相区分的基本特性。
- 饱和度(Saturation 也成彩度):彩色的深浅程度,它取决与彩色中白色的含量。饱和度越高,彩色越深,白色光越少。
- 亮度(Illumination):光波作用于感受器所发生的效应,它取决于物体的反射系数。反射系数越大,物体亮度越大。
- 以上三要素来描述彩色空间能够更好地与人的视觉特性相匹配
- 其他颜色视觉模型
- HSV(hue,saturation, value(明度))
- HSL (hue,saturation, Lightness(亮度))
简单光照模型
光照模型
当物体的集合形态确定之后,光照决定了整个场景的显示结果,因此真实感图形的生成取决于如何建立一个合适的光照模型(illunination model)。
背景物理知识
- 1.光的传播定律
- 反射定律
- 折射定律
- 能量关系(瞒住能量守恒)
- 常见的光:
- 漫反射光:漫反射光主要有表面的粗糙程度决定。
- 镜面反射光
- 折射光
- 吸收光
Phong光照模型
环境光 + 漫反射光 + 镜面反射光
- 环境光:邻近个物体所产生的光多次反射最终达到平衡时的一种光。可近似认为同一环境下的环境光,其光强分布是均匀的。
- 漫反射光:服从Lambert定律:
- 镜面反射光:
如何进行明暗处理
- 基本思想:每一个多边形的顶点计算出光照强度或者参数,然后再各多边形内部进行均匀插值。
- 常用方法
- Gouraud明暗处理(双线性光强插值算法)
- Phong明暗处理(双线性法向插值算法)
插值算法
利用某一个函数技术来计算出两个或者更多值之间的值,例如最简单的求算数平均数(x+y)/2.
Gouraud明暗处理(双线性光强插值算法)
- 第一步:计算多边形顶点的平均法向。
- 第二步:用Phong光照模型计算顶点的光的强度。
- 第三步:插值计算离散边上个点的光强。
- 第四步:插值计算多边形内域中个点的光强。
- 为了减少计算量,采用增量计算方法。
- 不足:
- 不能有镜面反射光(高光)
- 双线性插值是吧能量往四周均匀,平均的结果就是光斑被扩大了,本来没有光斑的底层一插值反而出现了光斑。
Phong明暗处理
- 双线性光强插值?==》双线性法向插值
- 以时间为代价,引入镜面反射,解决高光问题。
实现步骤:
- 计算每个多边形顶点处的平均单位法矢量。
- 用双线性插值方法求得多边形内部个点的法矢量。
- 最后按光照模型确定多边形内部各点的光强。
局部光照模型
仅处理光源直接照射物体表面的光照模型。
简单光照模型,不足之处:镜面反射与物体表面的材质无关。
原理:
自然光反射率系数可用Fresnel公式计算。