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.