能理解RGB模式中确定数值的各种颜色,但怎么理解明度、饱和度、色相等概念?...

一. 问题

无法理解明度、饱和度、色相等概念,学习图层调整,现在很痛苦!
在rgb模式中,三原色组合出各种颜色,如著名的色相环,这个无非是红色,绿色,蓝色三个颜色的16进制值组合出的类似#85b056的颜色系数,我一直觉着这个东西就完完全全唯一指定了颜色,所以无法接受“明度”,“饱和度”,“色相”的概念,我程序员学ps还真有点难度。

现在学习“图层调整”,对“亮度”与“对比度”,“色阶”,“色相”与“饱和度”完全没有感觉,所以调整起来完全想不通其中的原理。比如色阶是什么感念,亮度是什么感念,调整对比度时,图片上每个像素颜色系数怎么变化的?通过色阶或者亮度调整图片亮度时,是通过什么方式(或者是算法)让图片整体看起来变暗了或变亮了?色相调整更有趣,为什么色相环会旋转?是因为三原色,复色,间色的排序吗?色相调整时,颜色不能跳着变化,只能按照色相环上自己相邻的颜色值变化吗?

二. 答案

不请自来。

本人是C#程序员兼Photoshop爱好者。

首先说说我对你的看法,你理解明度、饱和度、色相等概念很困难,一方面固然是从数字世界转到模拟世界的思考方式难以转变,更重要的是,你学习Photoshop还学得太少。

色相环,这个无非是红色,绿色,蓝色三个颜色的16进制值组合出的类似#85b056的颜色系数,我一直觉着这个东西就完完全全唯一指定了颜色,所以无法接受“明度”,“饱和度”,“色相”的概念。

你如果学过数字信号处理或者数字图像处理的话,应该对于理解这个帮助很大。
自然界中,信号都是连续的,也就是模拟量。将模拟量变成数字量要经过“采样——量化——编码”。

重点讲讲量化。

例如某自然界的某种发光物的亮度为189.879977652244...尼特,是一个无限不循环的数,计算机只认识0和1. 要表示这个数必然要经过量化,其中一种可能是四舍五入取整,例如取整为190尼特。(有人可能要抬杠说什么double类型,但是double能表示的小数点后的位数也是有限的,因此依然有精度的损失)

通常来,R、G、B的通道的亮度均用从0-255的数值来表示,这其实就是一个量化的过程。例如将189.879977652244...量化为190。

无非是红色,绿色,蓝色三个颜色的16进制值组合出的类似#85b056的颜色系数。

这种说法是错误的。你指的只是一种特殊情况。即R、G、B都只用8位来编码,也就是256*256*256 ,总共只能表示1677.7万(16 777 216)种颜色。

8+8+8,这叫24位真彩色,或者叫32位真彩色(知道Bitmap类的,应该知道里面还有一个通道是控制不透明度的,也就是8+8+8+8)。

除了8位编码,还有16位编码和32位编码,位数越多,说明量化越精细,损失的颜色越少。16位编码的话,就是48位彩色。

我可不是忽悠大家哦,有图有真相。

12091613_vOIv.jpg

所以,只要是数字图像,就一定有颜色损失。

那么什么是无损图片呢?众所周知,.bmp就是一种无损格式,这种无损其实指的是无损编码。“采样,量化,编码”,虽然.bmp格式图像在编码阶段无损,但是在量化阶段依然是有损的。

所以,只要是数字图像,就一定有颜色损失。

你能理解类似#85b056这样的唯一指定了的颜色,但无法接受明度、饱和度、色相,这大概是因为,在你心中,你认为明度、饱和度、色相是模拟量,因为生活中就是如此啊!

程序员能理解数字量,但不能理解模拟量这当然无可非议。我之前也说过,Photoshop里面的颜色有8位编码,还有16位编码,是从模拟量转到数字量,其实颜色在自然界中本身就是模拟量,而不是类似#85b056的颜色。

同样的,明度、饱和度、色相在自然界中也是模拟量,但是在Photoshop里面,它们同样经过了量化,也转成了数字量。

例如:色相量化到0-360里面去了,明度和饱和度都量化到0-100%里面去了,而且不能取45.28%这样的小数,只能取45%。

12091614_w80l.jpg

这说明:和颜色(例如#85b056)一样,明度、饱和度、色相在Photoshop里面同样经过了量化。

那么我们不禁要问,这样的量化是合理的吗?

合理。因为8位编码最多可以表示1677.7万(16 777 216)种颜色,而人眼能分辨的颜色总数大致也就1000多万种,所以8位编码是基本可以复现人眼能感知到的颜色的。

这个弯转过来了,再去理解数字图像调整应该就会容易一些了。

至于你说的:

色阶是什么感念,亮度是什么感念,调整对比度时,图片上每个像素颜色系数怎么变化的?通过色阶或者亮度调整图片亮度时,是通过什么方式(或者是算法)让图片整体看起来变暗了或变亮了?

这些问题,我就懒得回答了,都是基本问题。一言以蔽之,学得太少,或者没有一个好老师。好老师可以是一个言传身教的人,可以是一本好的入门书,也可以是一套好视频。

对了,至于色相环为什么会旋转,这个问题有点意思,在色相中,0和360对应的色相是同一种色相(至于为什么在此不再深究,可从三原色的滤色混合慢慢推导),因为首尾色相相同,自然就可以绕成一个环。旋转的色相环,你的意思大概指的是色轮,因为将色相弄成环形,有些概念更易于解释和记忆,例如邻色、间色、互补色等概念更容易理解了。

当然,色相的呈现也不一定要成,完全可以是以条形展示,例如:
12091614_iTLv.jpg

但是在这种条形的表示方法里,色相0和色相360依然是同一种色相。

看你的个人信息,貌似想转UI设计,我给你的建议是学好图层样式
当然,现在扁平化大行其道,UI特效不需要很多,illustrator也是非常有力的工具,而且它的矢量特性决定了它对于不同屏幕适配的适用性会更好。

对于新手,强烈推荐祁连山老师的Photoshop CS3专家讲堂视频系列。(也有CS6的)

还有,基础一定要学得全面又扎实。

我本人写过一篇讲图像处理基本概念的文章——《图像处理技术中的色彩理论简述》,对于初步理解数字图像应该有一定帮助:http://xh6300.sinaapp.com/2015/06/article/98/

============================= 分割线 =============================

我又仔细看了题主的问题补充,感觉要补充一点东西。

题主大概在想,颜色就用#85b056的形式描述不就得了吗?一个数代表一种确定的颜色,多好啊。#85b056要拆分也是拆分成85、b0、56,也就是R、G、B。怎么又蹦出个明度、饱和度、色相?

RGB模型确实显示颜色的本质,然而它最大的缺陷是极不直观。Photoshop毕竟是一款是商用的大众型软件,所以需要一些更直观的概念。

HSB(HSI)模型则是非常符合人的直观感觉的一种描述颜色的方法。色相H在色相环上变动,用红橙黄绿青蓝紫等等。

明度B,值越大越亮,越小越暗 。这是非常符合人的直觉的。

饱和度S我们知道的,饱和度越高,越鲜艳;饱和度为0,则就是黑白图像了。

其实在编程世界里,RGB和HSI的值是可以互相转换的:

12091614_RcM2.jpg12091614_xOgp.jpg

那么HSB在Photoshop里面,哪些时候会用到呢?在一些直观的操作里会用到,例如取色板、例如色相/饱和度命令。

但是对于任何图像的像素计算,Photoshop里面都没有HSB的影子,在RGB模式下,都是按照R、G、B的值去计算的,典型的比如混合模式。色阶的话勉强也算,其实色阶也可以分通道调整色阶,那样的话就是纯粹的R、G、B值计算了。

转载于:https://my.oschina.net/wangsifangyuan/blog/877318

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值