dichromatic oprgbimage → image2dimport fullseye as fs; fs.ledger.specular_coefficient_map(image_rgb, illuminant_rgb=(1.0, 1.0, 1.0), body_rgb=None, max_rank_ratio=0.1, max_negative_frac=0.02) (実装を直接呼ぶなら import specularity; specularity.specular_coefficient_map(image_rgb, illuminant_rgb=(1.0, 1.0, 1.0), body_rgb=None, max_rank_ratio=0.1, max_negative_frac=0.02)、台帳から引くなら opsspecular.get("specular_coefficient_map"))The scalar interface (specular) coefficient of the dichromatic model. → (H, W).
The same decomposition as :func:specular_diffuse_split, returning the
scalar m_s(x) instead of the coloured image m_s(x) * G. That scalar
is what an inspection routine thresholds: it is the amount of light the
surface reflected as a mirror does, in the units of the input radiance,
and it is zero wherever the surface behaved as a Lambertian body.
specular_coefficient_map(...) * illuminant_unit equals the second return
value of :func:specular_diffuse_split exactly, by construction — the two
operators share one core.
Arguments, guards and honest limits are identical to
:func:specular_diffuse_split — including the fact that the two guards
bound gross violations only.
Raises ValueError: exactly the same conditions as
:func:specular_diffuse_split (invalid image, invalid illuminant,
identically zero image, body colour parallel to the illuminant, either
guard firing, fewer than 3 pixels on the uniform-body route, invalid
body_rgb).
py -3.11 examples/specular_photometric.pyimage2d を入力に取れる)dichromatic)specular_diffuse_split · specular_free_transform · illuminant_from_dichromatic_planes
Provenance: specularity.py — SPECULAR operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.