text op• Datenarten: image2d × text → image2d
• Aufruf: import fullseye as fs; fs.ledger.text_box(img, text, xy, color='neutral', text_color=None, box_color=None, box_alpha=0.72, anchor='lt', pad=5, font_size=14, min_font_size=9, max_width=None, font_path=None, line_spacing=1.15, scheme='okabe_ito', min_contrast=2.0, border=0, border_color=None, style=None, wrap=True, bold=False, italic=False) (die Implementierung direkt: import annotate; annotate.text_box(img, text, xy, color='neutral', text_color=None, box_color=None, box_alpha=0.72, anchor='lt', pad=5, font_size=14, min_font_size=9, max_width=None, font_path=None, line_spacing=1.15, scheme='okabe_ito', min_contrast=2.0, border=0, border_color=None, style=None, wrap=True, bold=False, italic=False); aus dem Register: opsannotate.get("text_box"))
Text auf einer Hinterlegung (einer halbtransparenten Platte). Überlauf löst eine Ausnahme aus, statt still beschnitten zu werden.
img : ndarray
(H,W) oder (H,W,C), float [0,1].
text : str
Zu zeichnende Zeichenkette.
xy : (x, y)
Ankerposition (x=col, y=row, row zeigt nach unten).
color : str or sequence
Rollenname oder RGB. Ist text_color nicht angegeben, wird dies als Rahmenfarbe
verwendet, und der Text erhält eine gut lesbare Standardfarbe.
text_color, box_color : str/sequence or None
Textfarbe und Tafelfarbe. None bedeutet Standard (heller Text × dunkle Tafel). Ist die Textfarbe None,
wird nur dann automatisch auf dunklen Text (die Tafelfarbe) umgeschaltet, wenn die helle Standardfarbe gegenüber
der tatsächlich darunter erscheinenden Farbe min_contrast unterschreitet -- damit Beschriftungen von Skalenstrichen, Farbbalken und Legenden,
die ohne Tafel (box_alpha=0) auf weißen Grund gesetzt werden, nicht
im Weiß verschwinden. Ist text_color explizit angegeben, wird nicht umgeschaltet
(Farbe trägt Bedeutung in der Abbildung und wird daher nicht eigenmächtig geändert; ist sie unlesbar, gibt es eine Exception).
box_alpha : float
Deckkraft der Tafel [0,1]. Bei 0 wird keine Tafel gezeichnet (für Skalenbeschriftungen).
anchor : str
9 Varianten 'lt','ct','rt','lm','cm','rm','lb','cb','rb'.
pad : int
Innenabstand der Tafel [px].
max_width : int or None
Umbruchbreite des Texts. Bei None bleibt es bei 1 Zeile.
wrap : bool
Bei False wird nicht umgebrochen, sondern bei 1 Zeile verkleinert, bis es in max_width passt.
min_contrast : float
Untergrenze des Kontrastverhältnisses zwischen Text und "der tatsächlich darunter erscheinenden Farbe". Darunter:
ValueError (Text, der mit dem Hintergrund verschmilzt, fällt niemandem auf, daher wird er nicht durchgelassen).
Grenze (ehrlich): Verglichen wird mit der mittleren Farbe unter der Tafel; daher wird
bei box_alpha=0 auf einem Foto, das halb weiß und halb schwarz ist, der Mittelwert
ein mittleres Grau und die Prüfung bestanden (der Text über dem weißen Teil ist unlesbar).
Wo der Grund unruhig ist, box_alpha erhöhen, damit die Tafel wirkt --
diese Prüfung soll "Tafel vergessen" abfangen und
garantiert nicht gegen "trotz Tafel unlesbar".
border : int
Stärke der Rahmenlinie der Tafel (0 = kein Rahmen). Farbe ist border_color oder color.
style : dict or None
Argumente, die an imagedraw.draw_polyline (zeichnet die Rahmenlinie) durchgereicht werden.
ndarray
Neues Array derselben shape.
ValueError
Tafel ragt aus dem Bild / Text passt nicht / zu wenig Kontrast /
unbekannter Rollenname oder Anker / negativer Innenabstand.
• Leitfaden zur Familie figure_annotation
• dataset_conventions — Konventionen für Trainingsdatensätze — COCO / YOLO / VOC und Fallstricke in der Sichtprüfung
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• annotate_gallery — py -3.11 examples/annotate_gallery.py
• annotate_paper_tour — py -3.11 examples/annotate_paper_tour.py
• drawlist_deferred — py -3.11 examples/drawlist_deferred.py
• poc_active_contours — py -3.11 examples/poc_active_contours.py
• poc_agv_fleet — py -3.11 examples/poc_agv_fleet.py
• poc_air_hockey_intercept — py -3.11 examples/poc_air_hockey_intercept.py
• poc_ball_bounce — py -3.11 examples/poc_ball_bounce.py
• poc_beam_modal_video — py -3.11 examples/poc_beam_modal_video.py
• poc_cad_scan_deviation — py -3.11 examples/poc_cad_scan_deviation.py
• poc_camera_calibration — py -3.11 examples/poc_camera_calibration.py
• poc_camera_shake_deblur — py -3.11 examples/poc_camera_shake_deblur.py
• poc_connectome_across_worms — py -3.11 examples/poc_connectome_across_worms.py
• poc_crack_width_timeseries — py -3.11 examples/poc_crack_width_timeseries.py
• poc_ct_void_morphology — py -3.11 examples/poc_ct_void_morphology.py
• poc_dehazing — py -3.11 examples/poc_dehazing.py
• poc_dem_terrain — py -3.11 examples/poc_dem_terrain.py
• poc_diabolo_model_and_vision — py -3.11 examples/poc_diabolo_model_and_vision.py
• poc_dic_strain — py -3.11 examples/poc_dic_strain.py
• poc_driving_crossing — py -3.11 examples/poc_driving_crossing.py
• poc_driving_decisions — py -3.11 examples/poc_driving_decisions.py
• poc_driving_endless_map — py -3.11 examples/poc_driving_endless_map.py
• poc_driving_lateral — py -3.11 examples/poc_driving_lateral.py
• poc_driving_longitudinal — py -3.11 examples/poc_driving_longitudinal.py
• poc_driving_pass — py -3.11 examples/poc_driving_pass.py
• poc_driving_school — py -3.11 examples/poc_driving_school.py
• poc_driving_traffic — py -3.11 examples/poc_driving_traffic.py
• poc_driving_weather — py -3.11 examples/poc_driving_weather.py
• poc_emva1288_sensor — py -3.11 examples/poc_emva1288_sensor.py
• poc_eye_to_brain — py -3.11 examples/poc_eye_to_brain.py
• poc_focus_stacking — py -3.11 examples/poc_focus_stacking.py
• poc_food_cutting_measure — py -3.11 examples/poc_food_cutting_measure.py
• poc_granular_heap_repose — py -3.11 examples/poc_granular_heap_repose.py
• poc_graph_hierarchy_segmentation — py -3.11 examples/poc_graph_hierarchy_segmentation.py
• poc_interferometry_step — py -3.11 examples/poc_interferometry_step.py
• poc_kendama — py -3.11 examples/poc_kendama.py
• poc_leak_localization — py -3.11 examples/poc_leak_localization.py
• poc_lidar_terrain_change — py -3.11 examples/poc_lidar_terrain_change.py
• poc_livestock_body_volume — py -3.11 examples/poc_livestock_body_volume.py
• poc_machine_condition_fusion — py -3.11 examples/poc_machine_condition_fusion.py
• poc_malecns_activity_wave — py -3.11 examples/poc_malecns_activity_wave.py
• poc_measurement_system_analysis — py -3.11 examples/poc_measurement_system_analysis.py
• poc_mesh_quality_repair — py -3.11 examples/poc_mesh_quality_repair.py
• poc_motion_magnification — py -3.11 examples/poc_motion_magnification.py
• poc_multibeam_bathymetry — py -3.11 examples/poc_multibeam_bathymetry.py
• poc_panorama_drift — py -3.11 examples/poc_panorama_drift.py
• poc_particle_tracking — py -3.11 examples/poc_particle_tracking.py
• poc_peg_failure_recovery — py -3.11 examples/poc_peg_failure_recovery.py
• poc_peg_insertion_tactile — py -3.11 examples/poc_peg_insertion_tactile.py
• poc_photoelasticity — py -3.11 examples/poc_photoelasticity.py
• poc_powder_scoop_pour — py -3.11 examples/poc_powder_scoop_pour.py
• poc_print_warpage_risk — py -3.11 examples/poc_print_warpage_risk.py
• poc_pxrd_phase_peel — py -3.11 examples/poc_pxrd_phase_peel.py
• poc_registration_basin — py -3.11 examples/poc_registration_basin.py
• poc_river_surface_velocity — py -3.11 examples/poc_river_surface_velocity.py
• poc_rotation_invariance_audit — py -3.11 examples/poc_rotation_invariance_audit.py
• poc_rover_slip_risk_path — py -3.11 examples/poc_rover_slip_risk_path.py
• poc_segmentation_gauntlet — py -3.11 examples/poc_segmentation_gauntlet.py
• poc_stockpile_volume — py -3.11 examples/poc_stockpile_volume.py
• poc_strain_history — py -3.11 examples/poc_strain_history.py
• poc_structure_4d_deterioration — py -3.11 examples/poc_structure_4d_deterioration.py
• poc_superresolution_limits — py -3.11 examples/poc_superresolution_limits.py
• poc_swarm_obstacle_from_flow — py -3.11 examples/poc_swarm_obstacle_from_flow.py
• poc_table_tennis_bounce — py -3.11 examples/poc_table_tennis_bounce.py
• poc_table_tennis_rally_loop — py -3.11 examples/poc_table_tennis_rally_loop.py
• poc_table_tennis_spin — py -3.11 examples/poc_table_tennis_spin.py
• poc_tacscalib_sphere_lut — py -3.11 examples/poc_tacscalib_sphere_lut.py
• poc_template_tracking — py -3.11 examples/poc_template_tracking.py
• poc_timelapse_growth — py -3.11 examples/poc_timelapse_growth.py
• poc_traffic_counting — py -3.11 examples/poc_traffic_counting.py
• poc_ttc_rss — py -3.11 examples/poc_ttc_rss.py
• poc_world_terrain — py -3.11 examples/poc_world_terrain.py
• poc_wound_area_tracking — py -3.11 examples/poc_wound_area_tracking.py
• poc_xyt_event_surface — py -3.11 examples/poc_xyt_event_surface.py
image2d als Eingabe)arrow · leader_line · label_points · crosshair · legend_box · color_bar · scale_bar · axes_frame
text)*Provenance: annotate.py — ANNOTATE Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.