热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

光谱与色度图的映射

本文内容来自论文https:doi.org10.10631.5110051首先我们要知道,颜色不是电磁辐射的特性,而是观察者的主观感知。当光与物体相互作
本文内容来自论文https://doi.org/10.1063/1.5110051


首先我们要知道,颜色不是电磁辐射的特性,而是观察者的主观感知。

当光与物体相互作用,光通吸收、反射或折射改变其光谱时,就会观察到颜色。 物体的颜色取决于光源的类型,下图 显示了三种不同的白光光源光谱,通常用于实验或我们的日常生活:三色荧光灯(固体)、白炽灯(点)和白光-emitt 二极管(LED)(虚线)。





反射光与人眼相互作用,人眼在锥细胞的帮助下感知颜色。 眼睛中存在三种不同波长的锥细胞 峰波长为564-580nm、534-545nm和420-440nm。 因此,人的颜色感知是三种锥细胞刺激的加性组合。 因此,所有的颜色刺激都可以通过混合这三种波长范围的颜色再现,这些值集称为三刺激值。 CIE1931定义了一个颜色空间图,它被描述为一系列物理产生的颜色到三刺激值的映射。同时还定义了颜色匹配函数作为对观察者光谱灵敏度曲线的数值描述。




对于给定的照明光I(\lambda )和反射光谱R(\lambda )的相对光谱功率分布,三刺激值(X,Y,Z)可以通过以下概述的积分关系来计算:




为了提供一个感知的颜色图,CIE创建了一个二维色度图来显示不同的颜色刺激。 图表上的每个点(x,y)表示其三刺激值所描述的颜色。 坐标与三刺激值之间的关系如图所示。 





1996年,微软公司和惠普公司在一个合作伙伴中创建了一个方便的计算机图形和显示器颜色模型-标准的红绿蓝(sRGB) 。 sRGB是一个加性颜色空间,即sRGB颜色空间中的任何颜色可以用三种原色红色、蓝色、绿色相加而成,sRGB三角形的三个顶点分别表示这三种颜色。如下图所示。




RGB颜色空间只覆盖CIE图中相对有限的部分,缺乏特别饱和的蓝色和绿色。 2010年,数字电影倡议组织又定义了DCI-P3颜色空间, 与sRGB颜色空间相比,色域扩展。

另一个广泛使用的颜色模型是CMYK颜色模型,其中四个字母代表青色、洋红、黄色和黑色。 与RGB相反,CMYK是一个减色模型,因为青色,洋红,黄色, 是从白光中分别减去红色、绿色和蓝色得到。 由于其减法性质,CMYK颜色模型最适合于彩色印刷,因为油墨通过吸收可见光谱的某一部分并反映其余部分来渲染颜色。 在彩色印刷中,通常使用黑色墨水代替青色、洋红和黄色(CMY)的组合,因为它更便宜、更准确。


利用CIE图可以方便地量化颜色纯度和饱和度。 饱和度是由光谱上的光强度分布多少决定的。 为了说明CIE1931图的效用,在 图(g)-(l)显示了CIE1931色度中谱线宽、色饱和度与坐标点位置 为了说明CIE1931图的效用,在图中。 图1(g)-1(l)显示了CIE1931色度中谱线宽、色饱和度与坐标点位置的关系 图(x,y)的关系。






对于单峰的反射光谱,较窄的线宽表示更饱和的颜色(图中黑色线)。 可以观察到,当颜色完全饱和时,其色度坐标(x,y)位于CIE1931图的外缘。红色线由减高斯光谱形成。



推荐阅读
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 深入理解Java中的volatile、内存屏障与CPU指令
    本文详细探讨了Java中volatile关键字的作用机制,以及其与内存屏障和CPU指令之间的关系。通过具体示例和专业解析,帮助读者更好地理解多线程编程中的同步问题。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
author-avatar
伤心的海2012_626
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有