diabolo_axis_from_image — DRIVE diabolo op

• Data kinds: rgb × table × table → table

• Call: import fullseye as fs; fs.ledger.diabolo_axis_from_image(img, cam: 'dict', params: 'dict', *, refine: 'bool' = True, iters: 'int' = 15) -> 'dict' (implementation को सीधे call करना हो तो import diabolo; diabolo.diabolo_axis_from_image(img, cam: 'dict', params: 'dict', *, refine: 'bool' = True, iters: 'int' = 15) -> 'dict', registry से लेना हो तो opsdrive.get("diabolo_axis_from_image"))

उपयोग

1 frame से पास वाले cup के किनारे का केंद्र center_rim और axis axis (camera की ओर) निकालता है। diabolo का केंद्र center = center_rim − (L/2) axis। learning के बिना।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

初期値(弱透視): 縁の楕円の長半径 → 深度、短 / 長 = cos θ、底の板の中心のずれ = (L/2 − z_h) sin θ、θ = atan2(sin, cos) (acos の床を避ける)、ずれの向き = 軸の像の向き。仕上げ: 縁の円(半径 R、中心 C)と底の板(半径 r_h、中心 C − (L/2 − z_h) a)の厳密な透視投影の多角形モーメント(面積・重心・2 次)を、マスクのモーメントに Gauss–Newton で合わせる(5 自由度、8 残差)。残差 residual_px が 0.15 px を超えたら ok = False(底の板が壁に隠れた等。視線から 45° で 2.8 px、38° まで ≤ 0.02 px)。

返り {"center", "center_rim", "axis", "axis_init", "tilt_init_deg", "a_px", "b_px", "residual_px", "ok", "seg"}。Raises ValueError: 画像の形、カップの内側か底の板が見えない(推定不能)。

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_diabolo_model_and_vision — py -3.11 examples/poc_diabolo_model_and_vision.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

इसी category के (diabolo)

diabolo_params · diabolo_spheroid · spheroid_closest · diabolo_dynamics_step · diabolo_simulate · diabolo_state_sequence · diabolo_throw_catch_truth · string_tension_static


*Provenance: diabolo.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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