linear_to_srgb — GFX2D colorspace op

• 資料種類:rgb → rgb

• 呼叫: import fullseye as fs; fs.ledger.linear_to_srgb(img)(要直接呼叫實作,import gfx2d; gfx2d.linear_to_srgb(img);從台帳取用則 opsgfx2d.get("linear_to_srgb"))

用法

把線性光轉回 sRGB 編碼。srgb_to_linear 的精確逆。

公式(IEC 61966-2-1):c <= 0.0031308 時為 12.92 c,否則為 1.055 c^(1/2.4) - 0.055。按通道、按像素獨立。

• img:(H, W) / (H, W, 1) / (H, W, 3) / (H, W, 4) 的 float。值必須在 [0, 1] 內(容差 1e-9),否則 ValueError —— 線性光的 HDR 值(超過 1)要先施加曝光使其落入範圍。整數陣列僅在最大值不超過 1 時通過(0〜255 的緩衝區會被拒絕)。bool 按 0/1 通過。NaN/Inf、複數、遮罩陣列為 ValueError。

• (H, W, 4) 的 alpha(第 4 通道)不轉換(覆蓋率本來就是線性的)。

• 回傳值:同形的 float64 副本,[0, 1]。

• (3,) 的 1 種顏色或 (N, 3) 的顏色表本 op 不接受(影像 API)。想作用於任意形狀時,imgmetrics 側的同名函式會委派到這裡。

對 radial_light / light_mask / bloom 等在線性光中計算的結果, 在寫入檔案、顯示到螢幕之前只施加 1 次。施加兩次會使中間調發飄(不會拋出例外)。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• gfx2d_scene — py -3.11 examples/gfx2d_scene.py

• poc_leaf_disease_area — py -3.11 examples/poc_leaf_disease_area.py

• poc_pigment_unmixing — py -3.11 examples/poc_pigment_unmixing.py

• poc_white_balance — py -3.11 examples/poc_white_balance.py

型別可銜接的下一個運算子(可接受 rgb 作為輸入)

srgb_to_linear · blend_mode · light_mask · normal_map_decode · bloom · vignette · chromatic_aberration · film_grain

同類別(colorspace)

srgb_to_linear


*Provenance: gfx2d.py — GFX2D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.