[技术]颜色矩阵应用和公式总结
颜色矩阵应用 作者声明 本文大部分都是自己测试所得的结果,前面的颜色基础多半是摘自百度百科里面的,还有更 多的色彩方面的一些专业术语就不多加介绍了,颜色是感性的,我们可以用数字描述它,但是 却要通过眼睛感受它的美丽. 所以推荐大家多多测试一下,就是了. 夜色之下 --2012/7/8 前言 颜色矩阵的使用是十分简单而直观的,功能是十分强大的,有很多功能都是 imagetint 和 greyscale 所不能实现的,本文会介绍颜色矩阵总结的公式,并且简单 的介绍一些色彩的概念. 好吧,我们先了解一下一些,RM 中要知道的色彩的一些基本概念吧! 色彩基础 色相 色相是色彩的首要特征, 是区别各种不同色彩的最准确的标准。 事实上任何黑白灰以外的颜 色都有色相的属性,而色相也就是由原色、间色和复色来构成的。色相,色彩可呈现出来的 质的面貌。自然界中各各不同的色相是无限丰富的,如紫红、银灰、橙黄等。色相即各类色 彩的相貌称谓。 色调 色调指的是一幅画中画面色彩的总体倾向,是大的色彩效果。在大自然中,我们经常见到这 样一种现象:不同颜 色的物体或被笼罩在一片金色的阳光之中,或被笼罩在一片轻纱薄雾 似的、淡蓝色的月色之中;或被秋天迷人的金黄色所笼罩;或被统一在冬季银白色的世界之 中。 这种在不同颜色的物体上, 笼罩着某一种色彩, 使不同颜色的物体都带有同一色彩倾向, 这样的色彩现象就是色调。 灰度 灰度使用黑色调表示物体。 每个灰度对象都具有从 0%(白色)到 灰度条 100%(黑色)的亮度值。 使用黑白或灰度扫描仪生成的图像通常以灰度显示。 所谓灰度色,就是指纯白、纯黑以及两者中的一系列从黑到白的过渡色。我们平常所说的黑 白照片、黑白电视,实际上都应该称为灰度照片、灰度电视才确切。灰度色中不包含任何色 相,即不存在红色、黄色这样的颜色。灰度共有 256 级 一般,像素值量化后用一个字节(8b)来表示。如把有黑-灰-白连续变化的灰度值量化为 256 个灰度级,灰度值的范围为 0~255,表示亮度从深到浅,对应图像中的颜色为从黑到 白。黑白照片包含了黑白之间的所有的灰度色调,每个像素值都是介于黑色和白色之间的 256 种灰度中的一种。 对比度 对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量, 差异范围 越大代表对比越大,差异范围越小代表对比越小,好的对比率 120:1 就可容易地显示生动、 丰富的色彩,当对比率高达 300:1 时,便可支持各阶的颜色。但对比率遭受和亮度相同的困 境, 现今尚无一套有效又公正的标准来衡量对比率, 所以最好的辨识方式还是依靠使用者眼 睛。 对比度是最白与最黑亮度单位的相除值。因此白色越亮、黑色越暗,对比度就越高。 对比度对视觉效果的影响非常关键,一般来说对比度越大,图像越清晰醒目,色彩也越鲜明 艳丽;而对比度小,则会让整个画面都灰蒙蒙的。高对比度对于图像的清晰度、细节表现、 灰度层次表现都有很大帮助。 有两种提高对比度的方法: 1.提高白色画面的亮度。 2.让黑色更黑,降低最低亮度,这个也许有些不好理解,首先,需要知道控制液晶显示 器光线的明暗变化,是不可能通过发光灯管开、关来实现的,而液晶又是不能做到 100%不 漏光的,所以即使调整至纯黑画面,液晶显示器还是会有一些亮度的。这是个分母、分子的 问题,分子小了对比度自然就高了。 亮度 亮度是指发光体(反光体)表面发光(反光)强弱的物理量。人眼从一个方向观察光源,在 这个方向上的光强与人眼所“见到”的光源面积之比,定义为该光源单位的亮度,即单位投 影面积上的发光强度。 亮度的单位是坎德拉/平方米 (cd/m2) 亮度是人对光的强度的感受。 它是一个主观的量。与亮度不同的,由物理定义的客观的相应的量是光强。这两个量在一般 的日常用语中往往被混淆。 简而言之, 亮度(lightness)是颜色的一种性质,或与颜色多明亮有关系的色彩空间的一个维 度。 饱和度 饱和度可定义为彩度除以明度,与彩度同样表征彩色偏离同亮度灰色的程度。注意,与彩度 完全不是同一个概念。 但由于其代表的意义与彩度相同, 所以才会出现视彩度与饱和度为同 一概念的情况。 饱和度是指色彩的鲜艳程度, 也称色彩的纯度。 饱和度取决于该色中含色成分和消色成分(灰 色)的比例。含色成分越大,饱和度越大;消色成分越大,饱和度越小。 RM 中总结的颜色矩阵公式 基本声明 声明一下,本文里面假定颜色矩阵生效前的任意一个像素的 RGBA 值分别为,R,G,B,A.生效后 分别为,r,g,b,a. 颜色矩阵对背景色无效就是 solidcolor,必须对图片使用,另外说一下的是颜 色矩阵每一个值大小不局限于-1 到 1 之间,比如你可以是 m11=4 或者其他的都是可以的。 颜色矩阵是对一个个像素进行控制,每一个像素都包含有RGBA这四个分量,因而通过控制他 们我们可以实现很多的效果.比如说实现 alpha 白,aplha 白就是将某个颜色分量的透明度 a 设置一下,比如设置为 0 那么这个颜色就不可见了,就是透明的.这个是用 imagetint 和 geryscale 实现不了的,比如说纯色的实现等等.总之利用颜色矩阵可以实现大部分 ps 对于色 彩的控制效果. 还有不一定每次非要写 5 行来表示你的颜色矩阵,自己通过下面的学习灵活运用下就是了. (颜色的缩放, 旋转,削减,偏移这些就不扯了,本文只想诠释直观的实用颜色矩阵) 颜色矩阵基本定义: 颜色颜色的参数是由 5*5 的矩阵表示的,用来改变相应的 meter=image 类型的 meter 的指定的 image 图片的色彩表达方式用的,默认的矩阵如下: ColorMatrix1=1; 0; 0; 0; 0 ColorMatrix2=0; 1; 0; 0; 0 ColorMatrix3=0; 0; 1; 0; 0 ColorMatrix4=0; 0; 0; 1; 0 ColorMatrix5=0; 0; 0; 0; 1 主对角线上的值,从左上到右下,依次是.红,绿,蓝,alpha,和一个占位符 ,0.0 表示的 是 none, 1.0 表示的是正常,矩阵中允许一种颜色的值来修改另外一种颜色(比如:红色的 值可能有蓝色值的一半),最后一行(ColorMatrix5),这个偏移量会直接添加给颜色( 比 如:colormatrix=0.5;0;0;0;1 那么红色的值就增加了 50%) 占位符是神马呢?这个你不用做太多理解,实际上占位符没有什么实际的含义,你可以理 解为占个位置你发现上面矩阵是5*5的,如果没有占位符就会变成5*4的了,可能在颜色 矩阵内在运算的时候就引入了占位符这个概念,在RM里面写法是固定的.你不要改就是 了 颜色矩阵规范式 R G B A V m11 m12 m13 m14 m15 m21 m22 m23 m24 m25 m31 m32 m33 m34 m35 m41 m42 m43 m44 m45 m51 m52 m53 m54 m55 综合公式: r=R*m11+G*m21+B*m31+A*m41+m51*255 g=R*m12+G*m22+B*m32+A*m42+m52*2