文档章节

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

天蚕宝衣
 天蚕宝衣
发布于 2017/04/12 09:12
字数 2319
阅读 169
收藏 0

一. 问题

无法理解明度、饱和度、色相等概念,学习图层调整,现在很痛苦!
在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位彩色。

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

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

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

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

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

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

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

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

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

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

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

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

至于你说的:

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

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

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

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

但是在这种条形的表示方法里,色相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的值是可以互相转换的:

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

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

本文转载自:https://www.zhihu.com/question/35200358

共有 人打赏支持
天蚕宝衣
粉丝 24
博文 240
码字总数 179371
作品 0
天津
私信 提问
一篇文章读懂RGB、HSL、Hex 网页色彩值

网页使用到的色彩标示方法中,从古早时期大家都在用的16进位码(#000000)、RGB色值标示、HSL色彩标示,其中网页设计师最常使用的16进位色码标示法,设计师究竟了解多少?而16进位码又是如何计...

半撇私塾
2017/11/11
0
0
Image Representation & Classification(图像表示与分类)

1.Computer Vision Pipeline(计算机视觉管道) 预处理主要是关于标准化数据,比如处理输入图像大小。 Separating Data(分离数据) Images as Grids of Pixels Import resources Read in a...

徐凯_xp
2018/08/12
0
0
颜色空间:RGB,CMY,HSV,HSL,Lab详解

颜色空间(彩色模型、色彩空间、 彩色系统etc)是对色彩的一种描述方式,定义有很多种,区别在于面向不同的应用背景。 例如显示器中采用的RGB颜色空间是基于物体发光定义的(RGB正好对应光的...

li_wen01
2017/06/05
0
0
sass笔记-4|像写脚本一样写Sass,把能交给Sass办的都交给它

Sass笔记关于sass的基础部分已经写完,这一篇介绍Sass的高级特性——脚本特性。Sass能做很多事让样式表更智能,我们先会看到Sass眼中的数据类型,在这些数据类型上会有可进行的操作,此外,S...

Stinson_Zhao
2016/12/06
147
0
从0打造一个GPUImage(4)

用容易理解的语言讲一些不太容易理解的概念. 答疑 上一章提了个问题,就是如何写fragment shader绘制 -w200 这样的图像。 现在揭晓一下答案。 ContentMode UIImageView的contentMode经常使用...

叶孤城___
2017/11/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

cnetos7+docker+rancher构建基于DevOps的全自动CI【01】

来自DevOps实践分享,分享从开发代码到生产环境部署的一条龙操作的实践及经验, 包含工具技术的选型及考量、私有代码库与私有镜像库的应用等。 1、环境选择 安装Rancher环境,一定要在干净的...

Elson
14分钟前
1
0
21分钟教会你分析MaxCompute账单

背景 阿里云大计算服务MaxCompute是一款商业化的大数据分析平台,其计算资源有预付费和后付费两种计费方式。并且产品每天按照project为维度进行计量计费(账单基本情况下会第二天6点前产出)...

zhaowei121
17分钟前
0
0
CTO职场解惑指南系列(一)

基于科技能够改变世界的事实,几乎每个公司的程序员都自带闪光灯。程序员的手和普通人的手自然是有区别的,“我们可是用双手改变了世界” 。(码农真的是靠双手吃饭,呵呵) 这个世界上但凡靠...

阿里云云栖社区
22分钟前
1
0
css实现图片自适应容器宽高

css实现图片自适应容器宽高的做法一般如下所示 <style>div{width: 200px; height: 200px}div img{width: 100%; height: 100%}</style><div><img src="xxxx.png" /></div> 当外层容......

小草先森
22分钟前
3
0
PlatON在CentOS上编译部署

本文作者为万向区块链CTO罗荣阁。 目录 PlatON在CentOS上编译部署 1. CentOS 环境准备 1.1. 使用rpm 安装devtoolset-7 1.2. 使用rpm 安装dos2unix 1.3. 准备PlatON代码 1.4. 确保build脚本正...

万向区块链
30分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部