[ISP] 人眼中的顏色

相機是如何記錄顏色的,又是如何被顯示器還原的? 相機通過記錄RGB數值然后顯示器顯示RGB數值來實現顏色的記錄和呈現。道理是這么個道理,但實際上各廠家生產的相機對光的響應各不相同,并且不同廠家顯示器對三原色的顯示也天差地別,因此要實現顏色的準確的的記錄和還原需要經過一套轉換和統一的過程。

顏色是人的所見所感,在整個顏色的記錄和呈現的過程中,體現著以人為本的思想。

?

1. 顏色是什么

一束光中由不同波長的電磁波組成(光譜),而自然界存在各種各樣的光譜(定義為集合Q)。

自然界中的光譜

人的眼睛中有三種視錐細胞(L,S,M),這三種視錐細胞對不同波長光的響應各不相同。

添加圖片注釋,不超過 140 字(可選)

人類通過視錐細胞響應比例的差異來識別不同光譜的"顏色"(集合S)。

添加圖片注釋,不超過 140 字(可選)

但是不同光譜到LSM響應的映射是個多對一的過程(Q->S是滿射非單射),換言之存在不同的光譜產生一樣顏色的情況(異譜同色)。

添加圖片注釋,不超過 140 字(可選)

因此顏色可以說是人眼中LMS的一個響應組合。(想象一下三維空間中每個點是一組LMS的響應組合代表一種顏色)

?

2. 顏色的三刺激值表示

使用不同的三元色刺激人眼可以產生各種LMS響應組合(顏色),這正是異譜同色的一個應用。而且三原色的刺激值跟LMS的影響組合存在線性一一對應的關系。

CIE從顏色匹配實驗得到人眼的顏色匹配函數,使用XYZ三原色可以匹配不同的單色波長光。由于人眼對顏色感知的線性特性,對復雜的光譜可以看作是不同單波長光的疊加。

添加圖片注釋,不超過 140 字(可選)

忽略亮度因素,得到CIE XYZ色度圖,每個顏色都可以用一個xyz刺激值來表示,色度圖包含了人類所有可見顏色以及其對應的刺激值。

?

因此顏也可以使用XYZ刺激值來表示。(想象一下三維空間中的每個點是XYZ的組合代表一個顏色,它跟上面的LMS空間存在線性對應關系)

3. 相機眼中的顏色

相機在不同的感光元件上放置不同的濾光片來實現sensor對光譜差異響應,因此相機眼中的顏色是一個RGB的響應組合。

相機響應曲線

相機RGB響應跟人眼的LMS響應往往存在較大的區別,為了使其跟人眼中的顏色對應起來,需要建立一個相機RGB響應值到CIE XYZ刺激值的映射;這個過程涉及到相機顏色矯正和標定過程,且存在非線性轉換關系(參見盧瑟條件)。

相機RGB與色彩校正后RGB

4. 顯色呈現和還原

正如秦統一文字,CIE XYZ建立了一個人類世界中顏色的一個統一表示方法。其他一些標準顏色空間的例如sRGB,Rec2020使用了不同的三原色來表示顏色,但他們的RGB三原色刺激值都可以跟XYZ進行線性轉換。

顯示器拿到三原色刺激值以及其對應的色彩空間后,就可以確定這是人類眼中的哪種顏色,然后使用三種不同的光去產生一個光譜,使其可以模擬對應顏色在人眼中的響應。

?

至此一束光的"顏色"從記錄再到呈現給人類的過程就結束了。

雜談:

其實人類對顏色的識別是一個大腦高度參與的過程,大腦可能會幫你自動做白平衡操作,例如黑金/藍白裙子心理實驗。

?

參考資料:

光線與數學的魔法:相機拍到的照片顏色是怎么和人眼看到的結果吻合的? - 知乎 (zhihu.com)

CIE 1931 color space - Wikipedia

色彩理論普及 | 從十六進制編碼到RGB色彩呈現 - 25學堂 (25xt.com)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898070.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898070.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898070.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

InfiniBand可靠連接(RC)模式:設計原理、核心機制與應用實踐

引言 InfiniBand作為一種高性能網絡互連技術,廣泛應用于超算集群、分布式存儲和金融交易系統等領域。其可靠連接(Reliable Connection, RC)模式以硬件級的有序性、可靠性和低延遲特性成為關鍵場景的首選。本文結合技術原理、機制對比和實際應…

【網絡】Caddy 服務器如何提供 TLS(Transport Layer Security)(傳輸層安全協議)

這張圖片介紹了 Caddy 服務器如何提供 TLS(傳輸層安全協議) 支持,確保通信的安全性。以下是對圖片內容的詳細分析 1. Caddy 是什么? Caddy 是一個現代化的 Web 服務器,以其簡單易用和自動化的 HTTPS 支持而聞名。它內…

GHCTF web方向題解

upload?SSTI! import os import refrom flask import Flask, request, jsonify,render_template_string,send_from_directory, abort,redirect from werkzeug.utils import secure_filename import os from werkzeug.utils import secure_filenameapp Flask(__name__)# 配置…

《Python實戰進階》No21:數據存儲:Redis 與 MongoDB 的使用場景

第21集:數據存儲:Redis 與 MongoDB 的使用場景 摘要 在現代應用開發中,數據存儲的選擇直接影響系統的性能、擴展性和成本。Redis 和 MongoDB 是兩種極具代表性的數據庫技術,它們分別擅長解決不同場景下的問題。本文將深入探討 Re…

【Agent】OpenManus-Prompt組件詳細分析

1. 提示詞架構概述 OpenManus 的提示詞組件采用了模塊化設計,為不同類型的智能體提供專門的提示詞模板。每個提示詞模塊通常包含兩種核心提示詞:系統提示詞(System Prompt)和下一步提示詞(Next Step Prompt&#xff0…

藍橋杯刷題周計劃(第三周)

目錄 前言題目一題目代碼題解分析 題目二題目代碼題解分析 題目三題目代碼題解分析 題目四題目代碼題解分析 題目五題目代碼題解分析 題目六題目代碼題解分析 題目七題目代碼題解分析 題目八題目代碼題解分析 題目九題目代碼題解分析 題目十題目代碼題解分析 前言 大家好&#…

mysql學習-常用sql語句

1、安裝mysql參考網上鏈接,進入mysql數據庫 mysql -u root -p 2、數據庫操作 2.1、創建數據庫 create database 數據庫名 default character set utf8; 2.2、顯示所有數據庫 show databases; 2.3、選擇數據庫 use elementInfo; 2.4、刪除數據庫 drop database…

(全)2024下半年真題 系統架構設計師 綜合知識 答案解析01

系統架構設計師第二版教程VIP課程https://edu.csdn.net/course/detail/40283 操作系統 下列選項中不能作為預防死鎖措施的是 。 A. 破壞“循環等待"條件 B. 破壞“不可搶占”條件 C. 破壞“互斥”條件 D. 破壞“請求和保持”條件 答案:C 解析&…

Java泛型程序設計使用方法

Java泛型程序設計是Java語言中一項強大的特性&#xff0c;它允許你編寫更加通用和類型安全的代碼。以下是Java泛型程序設計的使用方法和技巧&#xff1a; 1. 基本概念 泛型類&#xff1a;可以定義一個類&#xff0c;其中的某些類型是參數化的。 public class Box<T> {pr…

LeetCode算法心得——零數組變換IV(0-1背包)

大家好&#xff0c;我是晴天學長&#xff0c;很久很久沒有寫算法題解了&#xff0c;今天開始轉python了。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1&#xff09;統計打字方案數 給你一個長度為 n 的整數數組 nums 和一個二維數組 queries &#xff0c;其中 queries[i] [li, …

superset部署記錄

具備網絡條件的&#xff0c;完全可以一鍵部署&#xff0c;不需要折騰。網絡條件不具備時&#xff0c;部署記錄留存備查。 1、正常模式 詳細介紹參考&#xff1a;【開源項目推薦】Apache Superset——最優秀的開源數據可視化與數據探索平臺-騰訊云開發者社區-騰訊云 (tencent.c…

AI大模型完全指南:從核心原理到行業落地實踐

目錄 大模型技術演進脈絡核心原理解析與數學基礎主流大模型架構對比開發環境搭建與模型部署Prompt Engineering高階技巧垂直領域應用場景實戰倫理與安全風險防控前沿發展方向與學習資源 一、大模型技術演進脈絡 1.1 發展歷程里程碑 2017&#xff1a;Transformer架構誕生&…

HTB 學習筆記 【中/英】《前端 vs. 后端》P3

&#x1f4cc; 這篇文章講了什么&#xff1f; 介紹了 前端&#xff08;客戶端&#xff09; 和 后端&#xff08;服務器端&#xff09; 的區別。解釋了 全棧開發&#xff08;Full Stack Development&#xff09;&#xff0c;即前端后端開發。介紹了 前端和后端常用的技術。討論…

golang中的結構體

1.簡介 go也支持面向對象編程(OOP)&#xff0c;但是和傳統的面向對象編程有區別&#xff0c;并不是純粹的面向對象語言。所以說go支持面向對象編程特性是比較準確的。go沒有類(class)&#xff0c;go語言的結構體(struct)和其它編程語言的類(class)有同等的地位&#xff0c;你可…

Day 64 卡瑪筆記

這是基于代碼隨想錄的每日打卡 參加科學大會&#xff08;第六期模擬筆試&#xff09; 題目描述 ? 小明是一位科學家&#xff0c;他需要參加一場重要的國際科學大會&#xff0c;以展示自己的最新研究成果。 ? 小明的起點是第一個車站&#xff0c;終點是最后一個車站。然…

《C語言中\0:字符串的神秘“終結者”》

&#x1f680;個人主頁&#xff1a;BabyZZの秘密日記 &#x1f4d6;收入專欄&#xff1a;C語言 &#x1f30d;文章目入 引言一、字符串的定義與存儲二、\0&#xff1a;字符串的終結標志三、\0在字符串操作中的作用四、\0的陷阱與注意事項五、\0與字符串的動態分配六、總結 引言…

九、Prometheus 監控windows(外部)主機

一、監控 Windows 主機的方法 方式 1:使用 Windows Exporter Windows Exporter(wmi_exporter) 是 Prometheus 官方推薦的 Windows 監控工具,它可以采集 CPU、內存、磁盤、網絡、進程、服務狀態等 指標。 方式 2:使用 Node Exporter for Windows node_exporter 主要用于…

TCP/IP協議中三次握手(Three-way Handshake)與四次揮手(Four-way Wave)

TCP/IP協議中三次握手&#xff08;Three-way Handshake&#xff09;與四次揮手&#xff08;Four-way Wave&#xff09; 一、TCP三次握手&#xff08;Three-way Handshake&#xff09;二、TCP四次揮手&#xff08;Four-way Wave&#xff09;三、常見問題解答總結為什么三次握手不…

Java集成WebSocket實現消息推送,詳細步驟以及出現的問題如何解決

Java集成WebSocket實現消息推送 WebSocket是一種在單個TCP連接上進行全雙工通信的協議,非常適合實現實時消息推送功能。與傳統的HTTP請求-響應模式不同,WebSocket建立連接后可以保持長連接狀態,服務器可以主動向客戶端推送數據,這使得它成為實現聊天應用、通知系統和實時數…

如何在Linux中切換用戶?

Linux切換用戶 在Linux系統中&#xff0c;切換用戶可以通過使用su命令和sudo命令實現 1、su命令 su是switch user的縮寫&#xff0c;用于切換到另一個用戶。su命令的語法如下&#xff1a; su [選項] [用戶名]以下是一些示例&#xff1a; # 切換到root用戶 su - # 切換到指定…