光学基础知识:白光、颜色混合、RGB、色彩空间

1665年,牛顿(Isaac Newton)进行了太阳光实验,让太阳光通过窗板的小圆孔照射在玻璃三角棱镜上,光束在棱镜中折射后,扩散为一个连续的彩虹颜色带,牛顿称之为光谱,表示连续的可见光谱。而可见光谱只是所有电磁波谱中的一小部分。

牛顿认为白光(太阳光)使复杂的,由无数种不同的光线混合,各种光线在玻璃中受到不同程度的折射。棱镜没有改变白光而只是将它分解为简单的组成部分,把这些组成部分混合,能够重新恢复原来的白色。利用第二块棱镜可以将扩散的光再次合成为白光。

在重新合成之前,通过屏蔽部分光谱,可以产生各种颜色。Young在1802年的实验表明:如果在红、绿、蓝区域选择部分光谱,这三者适当的混合可以再现白光。

后来,Helmholtz成功地定量分析了这种现象。混合物中红、绿、蓝比例的变化可以产生多种颜色,几乎可以产生任何颜色,红色、绿色、蓝色三者等量的混合可以再现白色

所以:红、绿、蓝这三种颜色就称为“三原色”(RGB)

红色(Red)

绿色(Green)

蓝色(Blue)

红、绿、蓝光的混合结果暗示了人眼也拥有三种颜色的灵敏读,分别对应于红、绿、蓝。这种三灵敏度理论称之为Young-Helmholtz颜色视觉理论。它可以对三原色合成颜色作出非常简单的解释。

三原色理论被广泛应用于各种涉及视觉的场合。

补色的概念:从白色中减去颜色A所形成的颜色,称之为颜色A的补色 (complementary color)。

补色的形成:(白色减掉三原色,就是黑色)

补色的特点:当使用某个补色滤镜时,该补色对应的原色会被过滤掉:

原色以及所对应补色的名称:

原色

红色(Red)

绿色(Green)

蓝色(Blue)

补色

青色(Cyan)

洋红色(Magenta)

黄色(Yellow)

颜色再现有两种方式:

1、原色加法:三原色全部参与叠加形成白色,任意其中两种原色相加形成不参与合成的颜色的补色。

这是合成的示意图:

加色法

2、原色减法:三补色全部参与叠加形成黑色,任意其中两种补色相加形成不参与合成的颜色的原色。

这是合成的示意图:

减色法

原色加法比较简单,由原色叠加而形成其他颜色,但是应用较少;而原色减法是从白色中减掉相应原色而形成其他颜色,就是用补色来叠加形成其他颜色,应用的场合比较多。

色彩空间

随着数字摄影的兴起,计算机处理图象已经成为主流,但是现在多数的计算机设备无法完全再现人眼可辨认的色彩。一般的数字影像都是采用了sRGB色彩空间,处理范围比较宽的是Adobe RGB。下面是国际照明委员会(CIE)颁布的CIE1993-RGB系统的色度图:

转载于:https://www.cnblogs.com/Free-Thinker/p/4952750.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272748.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server各个版本功能比较

微软的SQlserver主要经历了从sql server 2000 到最新的sql server 2017,现把各个版本的更新特性介绍如下:SQL SERVER 2000日志传送索引视图SQL SERVER 2005数据库镜像(只有 SQL Server 2005 Enterprise Edition SP1 和更高版本支持异步数据库…

java hibernate的使用_《Hibernate快速开始 – 4 – 使用JAVA持久层 API (JPA)教程》

章节目标使用JPA EntityManagerFactory使用注解提供映射信息使用 JPA 接口本教程可在 entitymanger/ 路径下下载4.1. persistence.xml之前的章节使用了hibernate原生的配置文件hibernate.cfg.xml。然而,JPA中定义了不同的的自助配置文件persistence.xml。这个启动过…

HTTP消息中Header头部信息整理

1、HTTP请求方式GET向Web服务器请求一个文件POST向Web服务器发送数据让Web服务器进行处理PUT向Web服务器发送数据并存储在Web服务器内部HEAD检查一个对象是否存在DELETE从Web服务器上删除一个文件CONNECT对通道提供支持TRACE跟踪到服务器的路径OPTIONS查询Web服务器的性能说明&…

gdb命令中attach使用

[测试程序] 我们先看看我们的测试程序: /* in eg1.c */ int wib(int no1, int no2) { int result, diff; diff no1 - no2; result no1 / diff; return result; } int main() { pid_t pid; pid fork(); if (pid &…

java%4d_java积累

数组的使用package javaDemo;import java.util.*;/**** author Administrator* version 1.0***/public class test {public static void main(String[] args){String[] greeting new String[3];greeting[0] "Welcome to Core Java";greeting[1] "by Cay Hors…

查询CPU占用高的SQL语句的解决方案

触发器造成死锁、作业多且频繁、中间表的大量使用、游标的大量使用、索引的设计不合理、事务操作频繁、SQL语句设计不合理,都会造成查询效率低下、影响服务器性能的发挥。我们可以使用sql server自带的性能分析追踪工具sql profiler分析数据库设计所产生问题的来源&…

父类与子类之间的关系

1) 运行课件中的例题ParentChildTest.java,回答下列问题: a) 左边的程序运行结果是什么? b) 你如何解释会得到这样的输出? 第一个创建一个Parent对象,调用的是父类构造方法 第二个创建一个Child对象,调用的…

php获取到的json数据如何处理_php – 如何从API获取JSON数据

我使用过雅虎的符号查找它以JSON格式返回数据.喜欢以下YAHOO.Finance.SymbolSuggest.ssCallback({"ResultSet": {"Query": "ya","Result": [{"symbol": "YHOO","name": "Yahoo! Inc.","…

.NET开发中应该遵循的几点建议

1、始终控制类的大小那些超大的类在尝试做太多的事情,这违反了单一职责原则, 为什么一定要将两个职责分离到单独的类中呢?因为每一个职责都是变化的中心。在需求变更时,这个变更将会出现在负责该职责的类中。如果一个类承担了多个…

Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案

Linux下的jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案问题linux的jetty下发布程序后再启动jetty服务时,发现启动不了,从日志中找到报java.lang.OutOfMemoryError: PermGen space。原因分析PermGen space,全…

微博php sdk,手机第三方新浪微博登录php api实现分析

提供api,POST方式,根据传递过来的微博uid/appkey,判断该用户的ID是否在自己的数据库中。如果有,直接登录返回用户登录api的json。如果没有,就将该用户的IDtoken请求微博用户信息api:http://open.weibo.com/…

13条只有程序员才能懂的内涵段子

一、bug跟蚊子的相似之处:1、不知道藏在哪里。2、不知道有多少。3、总是在你即将睡觉休息的时候出现。二、A:最近在看《一拳超人》,觉得咱们程序猿跟埼玉老师有点像啊!B:哪里像了?A:越秃越强&am…

Posix消息队列

一、函数 mq_open 头文件 mqueue.h; 原型 mqd_t mq_open(const char *name, int oflag, .../*mode_t mode,struct mq_attr* attr*/); 函数功能 创建消息队列; 参数 name :消息队列的名字,根据消息队列的规则,为了更好的…

php 等值线,【地理】攻克等值线的六大法门

3.等值线数值大小的判断方法(1)通常情况下,据图中已标注的等值线进行分析标注,标注时注意:①等值线数值的递变规律;②相邻两条等值线差值的大小。(2)在闭合的等值线上,除据以上方法判断外,还可用“大于…

4步win7下简单FTP服务器搭建(试验成功)

本文介绍通过win7自带的IIS来搭建一个只能实现基本功能的FTP服务器,第一次装好WIN7后我愣是没整出来,后来查了一下网上资料经过试验后搭建成功,其实原理和步骤与windows前期的版本差不多,主要是对新的操作系统还不是很熟悉。相信用…

C#开发模式——单例模式

一、单例模式简介单例模式是为保证一个对象,在程序运行的任何时刻只有一个实例存在,我们把这种实现方式称之为“单例模式”。二、单例模式的核心单例类只有一个实例存在单例类提供一个全局访问点单例类通过自己创建唯一实例单例类对外所有访问对象都提供一个唯一实例…

video.min.js php,在WordPress中使用videojs来播放七牛私有空间视频

首先,在主题函数文件functions.php中添加一个获取七牛下载凭证的函数。这部分参考function qiniu_download_url($url){$url trim($url, /);$deadline strtotime(1 hour);$url sprintf(%s?e%s, $url, $deadline);$sign hash_hmac(sha1, $url, SECRET_KEY, true)…

关于HTTP和HTTPS的区别

一HTTP和HTTPS的基本概念1、HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效&#xf…

Android 实现切换主题皮肤功能(类似于众多app中的 夜间模式,主题包等)

首先来个最简单的一键切换主题功能&#xff0c;就做个白天和晚上的主题好了。 先看我们的styles文件&#xff1a; 1 <resources>2 3 <!-- Base application theme. -->4 <style name"AppTheme" parent"Theme.AppCompat.Light.DarkAction…

订阅号 图文回复php,微信开发(PHP实现订阅号的公众号配置和自动回复)

首先在微信公众平台(网址&#xff1a;https://mp.weixin.qq.com)申请一个订阅号&#xff0c;然后在开发里找到开发者工具点击公众平台测试账号&#xff0c;在测试账号内进行微信开发实验。 1. 设置一个自己的有效的域名网址和TOKEN(就是暗号)&#xff0c;TOKEN一定要与PHP代…