annotate3d op• 資料種類:image2d × text → image2d
• 呼叫: import fullseye as fs; fs.ledger.annotate3d_label(img, text, anchor, pose, K, depth=None, offset=(26.0, -22.0), color='emphasis', width=1.5, cap_size=3.0, font_size=12, pad=4, box_alpha=0.72, text_color=None, occlusion_tol=0.01, scheme='okabe_ito', font_path=None)(要直接呼叫實作,import annotate3d; annotate3d.annotate3d_label(img, text, anchor, pose, K, depth=None, offset=(26.0, -22.0), color='emphasis', width=1.5, cap_size=3.0, font_size=12, pad=4, box_alpha=0.72, text_color=None, occlusion_tol=0.01, scheme='okabe_ito', font_path=None);從台帳取用則 ops3d.get("annotate3d_label"))
回傳影像(image2d):給 3-D 錨點加上帶引出線的文字。
文字放在從錨點像素偏移 offset [px] 的位置(由 offset[0] 的正負號選擇左右錨點)。若透過 depth 得知被遮擋,則為虛線 + 空心標記。
ValueError
錨點在相機後方 / 影像外、文字放不下、位姿或 K 不正確。
步驟: 以與 annotate3d_project 相同的投影把 anchor(object 座標 (3,))轉為像素 (x, y),從 (x, y) 向 (x + offset[0], y + offset[1]) 畫引出線(annotate._aa_polyline,寬度 width),在錨點一側畫半徑 cap_size 的點,在線的末端以 annotate.text_box 放置文字。文字框的連接點(anchor)在 offset[0] > 0 時為左中,< 0 時為右中,== 0 時若 offset[1] < 0 則為下中央、否則為上中央。
參數:
• offset: 像素單位 (dx, dy)(dy 向下為正 = 列方向)。預設 (26, -22) 指向右上。
• width: 線寬 [px],>= 0.5 的實數。cap_size: 點的半徑 [px],0 則不畫點。pad / font_size / box_alpha / text_color / font_path: 文字框的外觀(從 font_size 起最小自動縮小到 9)。
• depth: 前方距離影像。若被遮擋,線變為虛線,點變為空心(ring)。
• color: 角色名或 RGB。occlusion_tol: [0, 1)。
回傳值: 繪製後的新影像(float64 [0, 1],不修改輸入)。
報錯條件(依實作): 錨點 z <= 1e-9 / 錨點像素在 [0, W-1] x [0, H-1] 之外 / 位姿、K、depth 不正確 / 文字框即使縮小也放不進影像(text_box 一側)。即使 offset 的末端在框外也會畫線。
用途: 圖中的部位名稱、編號。一次為多個點加標籤時,先以 annotate3d_project 取得可見判定,只對 visible 的點呼叫。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• annotate3d_figure — py -3.11 examples_3d/annotate3d_figure.py
image2d 作為輸入)fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · matcap_shade
annotate3d)annotate3d_project · annotate3d_arrow · annotate3d_scale_bar · annotate3d_axes · annotate3d_bbox · annotate3d_measure
*Provenance: annotate3d.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.