tb_specular_free_transform — 2D typed op

数据种类:rgbimagergbimage

调用:fullseye.apply(img, "tb_specular_free_transform", a=0.5, b=0.5)(2-D 的模型是一张图 + 两个标量旋钮 a,b∈[0,1])

*无图: 该算子以 rgbimage 为输入。从图像开始的 Studio 程序无法到达该类型,请参见下方的可运行示例。*

用法

投影去除光源方向:图像中高光无法触及的部分。→ (H, W, 3)。

> 以下的详细说明为原文 —— 摘要与标题已翻译。

`I - (I.G) G for the unit illuminant colour G`. Under the dichromatic

model the interface term is `m_s * G`, so it lies entirely in the removed

direction and the result is invariant to any specular term whatsoever

exactly, for any lobe shape, any strength, any spatial pattern. That is the

specular-invariant subspace of Mallick et al. (2005); this operator is the

projection itself, with no rotation into named channels, so it stays in RGB

and composes with the rest of the family.

Use it when the *shape* of the specular lobe is unknown or the surface is

textured — feature matching, edge detection and correlation all work in this

subspace without any of the assumptions

:func:specular_diffuse_split needs.

This is a projection, not a picture. The result loses one of three

degrees of freedom (its component along `G` is exactly zero everywhere)

and, for an image with negative values after black-level subtraction, keeps

them. It is not a displayable "highlight-removed photo" and does not claim

to be; for that, use :func:specular_diffuse_split.

Raises `ValueError: *image_rgb* is not a valid (H, W, 3)` linear

RGB image (see :func:specular_diffuse_split); *illuminant_rgb* is not a

non-zero 3-vector.

Typed bridge of the specular op `specular_free_transform into the 2-D evolution registry: the same implementation, called under the op(v, a, b) convention. This op has no tunable parameter; a and b` are unused.

参考(示例数据・文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

可运行的示例(实际调用该算子并已验证的样例)

• (暂无)

类型可衔接的下一个算子(可接受 rgbimage 作为输入)

identity · tb_wetness · tb_sensor_capture · tb_specular_diffuse_split · tb_specular_coefficient_map · tb_rgb_to_quaternion

同类别(typed)

tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_angle_3points · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal · tb_radius_outlier_removal


*Provenance: ops.py — 2D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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