two_view opimage2d × image2d → signalimport fullseye as fs; fs.ledger.sampson_distance(F, pts1, pts2) (実装を直接呼ぶなら import twoview; twoview.sampson_distance(F, pts1, pts2)、台帳から引くなら ops3d.get("sampson_distance"))エピポーラ拘束の Sampson 距離(1 次幾何誤差、各対応)。→ (N,)。
Raises ValueError: 点が (N,2) でない/非有限/対応数不一致。
計算: 同次座標 x1=(u1,v1,1)、x2=(u2,v2,1) で (x2ᵀ F x1)² / ((F x1)_0² + (F x1)_1² + (Fᵀ x2)_0² + (Fᵀ x2)_1² + 1e-12)。
sqrt を取るか、閾値側を 2 乗する。fundamental_8point の規約 x2ᵀ F x1 = 0(pts1 → x1、pts2 → x2)。順序を入れ替えるなら F を転置する。ValueError。fundamental_8point の当てはまり確認、誤対応(大きい値)の選別、recover_pose 前の前処理。py -3.11 examples_3d/two_view_pose.pysignal を入力に取れる)two_view)fundamental_8point · essential_8point · recover_pose · triangulate
Provenance: twoview.py — 3D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.