tb_normals_to_egi — 2D typed op

資料種類:pointsimage

呼叫:fullseye.apply(img, "tb_normals_to_egi", a=0.5, b=0.5)(2-D 的模型是一張圖 + 兩個純量旋鈕 a,b∈[0,1])

*無圖: 該運算子以 points 為輸入。從影像開始的 Studio 程式無法到達該型別,請參見下方的可執行範例。*

用法

法向量 `(N,3) → 擴展高斯影像 (n_el, n_az)image2d`。

> 以下的詳細說明為原文 —— 摘要與標題已翻譯。

方向の 2-D ヒストグラム(Horn, *Extended Gaussian Images*, Proc. IEEE 72(12)

1984)。「どの向きの面がどれだけあるか」の地図で、平面が支配的な物体では

1 つの bin に山が立つ。不可逆 —— bin 幅ぶんの方向解像度を捨てる。

捨てた量は測れる: 最頻 bin の中心方向と入力の平均方向の角度差が量子化誤差で、

既定 (36, 18) では bin 幅 10 度に対し実測 3.7 度(`selftest` が出す)。

仰角の bin は `sin(el)` で等分する(等立体角)。度で等分すると極が過剰に

細かくなり、「北極に面が集中している」という嘘の山が立つ。

Args:

normals: (N, 3)。

n_az: 方位の bin 数(既定 36 = 10 度刻み)。

n_el: 仰角の bin 数(既定 18)。

Returns:

(n_el, n_az) float64 の計数マップ(行 = 仰角、列 = 方位)。

Raises:

ValueError: bin 数が 1 未満 / 上限超 / 入力不正。

2-D 進化レジストリへ橋渡しした reprconv の op `normals_to_egi。実装は同じで、呼び出し規約だけ op(v, a, b) に合わせてある。an_az(既定 36)、bn_el`(既定 18)を振る。

參考(範例資料・文獻)

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

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

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

• (尚無)

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

identity · gaussian · mean_box · bilateral · unsharp · median · min_filter · max_filter

同類別(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.