ISP算法——從顏色恒常性到白平衡

?前面文章,介紹了人眼感知的物體顏色取決于光源的光譜組成與物體表面的光譜反射特性之間的相互作用。

? ? 人類視覺的顏色感知是生物機制與認知智能協同作用的結果,人眼視網膜上的視錐細胞檢測光的顏色,視桿細胞分析光的亮度,再共同轉化為神經信號傳遞至大腦,大腦結合環境光照條件并依照過往生活經驗,綜合判斷物體的顏色屬性。


  • 從顏色恒常性到白平衡

??介紹白平衡前,先介紹一下顏色恒常性,日本京都立命館大學的心理學教授北岡明佳曾發布了一張使用藍色濾鏡拍攝的草莓的圖片,在網上引起了熱議。

? ? 圖中到底有沒有紅色?我們通過取色器工具提取照片中草莓區域的顏色,并繪制到了旁邊的白板上,發現照片中完全沒有紅色,都只有不同程度的灰色,然而人眼卻感知到紅色,這就是人類視覺的顏色恒常性。

? ? 事實上人類視覺并非直接感知光線波長,而是大腦基于進化、經驗和環境構建的"最佳猜測"。這種顏色恒常性能力讓我們能適應不同光照條件,準確識別物體顏色,圖中是人觀察不同光源下的西紅柿的示例。

然而CMOS/CCD等傳感器,僅能被動記錄入射光線的強度信息,無法像人類視覺系統那樣主動區分物體固有色和環境光色偏,從而導致出現色溫偏差。即同一物體在不同光源照射下,受光源色溫的影響,呈現的顏色是不同的。低色溫光源下,白色物體偏紅,高色溫光源下,白色物體偏藍。

? ? 為實現顏色恒常性,攝像機需要白平衡技術。所謂白平衡(White Balance),簡單地說就是去除環境光的影響 ,還原物體真實的顏色,把不同色溫下的顏色調整正確。

?白平衡與色溫

? ? 色溫是白平衡中繞不開的一個概念,這里引入CIE色度圖中的黑體軌跡介紹色溫。色溫 (Color Temperature) 表示光源光色的尺度,單位為K。在CIE色度圖上,黑體軌跡是一條從右下角到左上角的曲線,表示黑體在不同溫度下輻射的顏色。黑體軌跡上的每個點都對應一個特定的溫度,這個溫度就是色溫(單位為K)。

? ? 將標準黑體從絕對零度開始加熱,溫度逐漸升高,光度亦隨之改變,黑體呈現出由紅變化為橙紅、黃、黃白、白、藍白、藍的過程。這里可以使用打鐵時的現象解釋黑體軌跡。

朝陽夕陽:光線偏紅,色溫較低,約1800K~3000K,給人以溫暖的感覺。?

白熾燈:色溫約2800K~3500K,接近于自然光,光線偏黃。?

正午的太陽:色溫約5000K~6500K,光線接近中性白色。?

陰天:色溫約6500K~8000K,光線偏藍。?

晴天陰影處:色溫最高,約12000K~16000K,光線非常藍。

  • 白平衡的應用

?白平衡的調整方向與光源色溫相反,色溫是是描述光源顏色的物理量,白平衡是相機或算法通過調整色彩參數,抵消光源色溫的影響,使白色物體在不同光照下仍顯示為白色。ISP算法需要精準匹配色溫進行校正。攝影師可以通過白平衡有意識地創作出帶有主觀色調的片子,烘托藝術氣氛。

? ? 當白平衡值小于色溫時,畫面色調偏冷(藍調)。當白平衡值等于色溫,色彩校正完全匹配,畫面色調中性。當白平衡值大于色溫,畫面色調偏暖(黃調)。

  • 白平衡的方法

? ??預設白平衡,通過色溫計測量環境色溫,以實現白平衡。

? ??手動白平衡,通過拍攝18%的灰色色卡,再估計出 紅、綠、藍色偏色的比例并做相應的調整,以實現白平衡。

? ??自動白平衡,模擬人類視覺的校正機制,以顏色恒常性理論為核心。目前有灰度世界法、完美反射法、灰度世界完美反射結合法、模糊控制法、動態白點法、色溫估算法、機器學習法等。

1、灰度世界法

2、完美反射法

參考鏈接:

https://www.digitaltrends.com/photography/non-red-strawberries/

https://www.sohu.com/a/128378558_119038

https://photographypro.com/white-balance/

https://www.eecs.yorku.ca/~mbrown.html

https://www.digitalcameraworld.com/photography/photo-technique/harness-the-wb-settings-on-your-camera-to-get-pure-whites-or-get-creative-by-giving-your-photo-an-unnatural-hue

Automatic White Balance algorithm Video Engineering Activity

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

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

相關文章

工業缺陷檢測的計算機視覺方法總結

工業缺陷檢測的計算機視覺方法總結 傳統方法 特征提取方式: 顏色:基于HSV/RGB空間分析,如顏色直方圖、顏色矩等紋理:采用LBP、Haar、Gabor濾波器等算子提取紋理模式形狀:基于Hu矩、Zernike矩等數學描述符刻畫幾何特性尺…

js實現宮格布局圖片放大交互動畫

可直接運行代碼 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>五圖交互布局</title><style>* {box-sizing: border-box;margin: 0;padding: 0;}.gallery {display: grid;grid-template-c…

easyexcel流式導出

EasyExcel 支持流式導出&#xff0c;這是它的一個重要特性。流式導出可以有效解決大數據量導出時的內存溢出問題。流式導出的優勢內存友好 &#xff1a;不會一次性將所有數據加載到內存中適合大數據量 &#xff1a;可以處理百萬級甚至更多的數據性能穩定 &#xff1a;內存占用相…

廣州 VR 安全用電技術:工作原理、特性及優勢探析?

&#xff08;一&#xff09;沉浸式學習體驗? 在廣州&#xff0c;VR 用電安全培訓技術給用電安全培訓帶來變革。借助頭戴式顯示設備等硬件&#xff0c;結合 3D 建模和實時渲染技術&#xff0c;打造廣州特色用電場景。員工戴上 VR 設備進入虛擬電力場景&#xff0c;能看到電氣設…

2.Linux 網絡配置

Linux: 網絡配置 版本為centos7 網卡配置文件&#xff1a; /etc/sysconfig/network-scripts/ifcfg-ens33 [rootkami /]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPEEthernet /類型&#xff1a;以太網 PROXY_METHODnone BROWSER_ONLYno BOOTPROTOnone /網絡配…

FPGA Verilog 入門語法指南

FPGA Verilog 入門語法指南 ?? 目錄 Verilog與C語言對比 基礎關鍵字 數據類型 運算符 控制結構 數值表示 阻塞與非阻塞賦值 模塊結構 預處理指令

【鴻蒙HarmonyOS Next App實戰開發】視頻提取音頻

在多媒體處理場景中&#xff0c;經常需要從視頻文件中提取純凈的音頻軌道。本文將介紹如何在HarmonyOS應用中實現這一功能&#xff0c;核心代碼基于ohos/mp4parser庫的FFmpeg能力。 功能概述 我們實現了一個完整的視頻音頻提取頁面&#xff0c;包含以下功能&#xff1a; 通過…

OpenHands:Manus 最強開源平替——本地部署與實戰指南

文章目錄?? 一、OpenHands 核心優勢&#xff1a;為何是 Manus 最佳平替&#xff1f;&#x1f9e0; 二、核心架構解析&#xff1a;多智能體如何協同工作&#xff1f;&#x1f6e0;? 三、本地化部署指南&#xff1a;Docke部署Docker 極速部署&#xff08;推薦&#xff09;&…

用 AI 做數據分析:從“數字”里挖“規律”

數據整理干凈后&#xff0c;就得分析了——算平均值、看差異、找關系&#xff0c;這些都能靠 AI 搞定。這節以“大學生在線學習滿意度”數據為例&#xff0c;教你用 AI 做描述性統計、假設檢驗、相關性分析&#xff0c;一步步從數據里挖規律&#xff0c;超詳細&#xff5e; 1. …

小程序安卓ApK轉aab文件詳情教程MacM4環境

根據Google Play的政策要求&#xff0c;自 2021 年 8 月起&#xff0c;Google Play 將開始要求新應用使用 Android App Bundle&#xff08;以下簡稱aab&#xff09; 進行發布。該格式將取代 APK 作為標準發布格式。 想了解更多關于aab的介紹可以直接閱讀android官方文檔&#x…

率先通過自動制冰性能認證,容聲冰箱推動行業品質升級

日前&#xff0c;容聲冰箱“電冰箱自動制冰性能認證”由中國家用電器研究院測試并通過&#xff0c;該認證為行業首次。這標志著中國家電行業在冰箱自動制冰功能的技術規范與品質保障領域樹立了全新里程碑&#xff0c;也將潔凈、高效的制冰體驗帶入中國家庭日常生活。目前&#…

大模型-batch之continuous batching

一、ORCA1.1 ORCA 概覽看下Continuous Batching 技術的開山之作ORCA,這個其實是融合的思路。ORCA&#xff1a;把調度粒度從請求級別調整為迭代級別&#xff0c;并結合選擇性批處理&#xff08;selective batching&#xff09;來進行優化。Sarathi[2] &#xff1a;利用Chunked P…

主要分布在背側海馬體(dHPC)CA1區域(dCA1)的時空聯合細胞對NLP中的深層語義分析的積極影響和啟示

時空聯合細胞&#xff08;Spatiotemporal Conjunctive Cells&#xff09;主要分布在背側海馬體CA1區&#xff08;dCA1&#xff09;&#xff0c;其核心功能是??同步編碼空間位置、時間信息和行為意圖??&#xff0c;形成動態的情景記憶表征。這種神經機制為自然語言處理&…

操作系統:系統程序(System Programs)

目錄 常見的系統程序類型 1?? 文件管理&#xff08;File Management&#xff09; 2?? 狀態信息&#xff08;Status Information&#xff09; 3?? 編譯器和程序開發&#xff08;Program Language Support&#xff09; 4?? 程序執行控制類&#xff08;Program Load…

【知識圖譜】Neo4j Desktop桌面版中國區被禁(無法打開)問題解決方法

【知識圖譜】Neo4j Desktop桌面版進程運行無法打開,UI 界面無法顯示問題解決辦法 前言 1.問題形式 2.原因分析 3.解決方法 3.1 方法一,斷網 3.2 方法二,手動設置代理 4.啟動Neo4j Desktop 前言 Neo4j Desktop桌面版安裝教程參考鏈接: https://zskp1012.blog.csdn.net/artic…

安裝acunetix軟件之后改www.ddosi.org.bat文件

安裝環境&#xff1a;windows11 通過網盤分享的文件&#xff1a;Acunetix_15.2.221208162_www.ddosi.org.zip 鏈接: https://pan.baidu.com/s/1FPFFr583FFFj6hxWB-Ygng?pwdjpim 提取碼: jpim 下載后文件是&#xff1a; 解壓之后&#xff0c;如下圖&#xff1a; 安裝步驟如…

pycharm安裝教程-PyCharm2023安裝詳細步驟【MAC版】【安裝包自取】

pycharm安裝教程-PyCharm2025安裝詳細步驟【MAC版】安裝安裝包獲取&#xff08;文章末尾&#xff09;今天來給大家分享 Mac 系統安裝 PyCharm&#xff0c;附帶安裝包資源安裝&#xff0c; PyCharm 相關就不敘述了&#xff0c;直接開始安裝&#xff01; 安裝 2024版本、2025年…

Linux(centos7)安裝 docker + ollama+ deepseek-r1:7b + Open WebUI(內含一鍵安裝腳本)

windows版本的 ollama &#xff1a;https://blog.csdn.net/YXWik/article/details/143871588 環境&#xff1a;centos7 文中各個腳本 1.docker安裝 或者 需要重新安裝&#xff1a; install_docker.sh 2.docker已安裝只需要安裝 ollama deepseek-r1:7b Open WebUI &#xff1…

深度解析:在Odoo 18中基于原生Owl框架為PWA定制功能豐富的底部導航欄

本文旨在提供一個從架構設計、核心功能實現到高級用戶體驗優化的全面指南&#xff0c;詳細闡述如何在Odoo 18中&#xff0c;完全利用其原生的Owl前端框架&#xff0c;為漸進式網絡應用&#xff08;PWA&#xff09;從零開始開發一個功能完備、數據驅動且高度可定制的底部導航欄。…

Java泛型初始化ArrayList<String>()和ArrayList<>()的區別

文章目錄前言Java 泛型初始化&#xff1a;ArrayList<String>() vs ArrayList<>() 的區別1. 語法差異1.1 顯式泛型初始化 (ArrayList<String>())1.2 鉆石操作符初始化 (ArrayList<>())2. 編譯與運行時的區別3. 使用場景對比3.1 顯式泛型初始化的適用情況…