text_box — ANNOTATE 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"))

Verwendung

Text auf einer Hinterlegung (einer halbtransparenten Platte). Überlauf löst eine Ausnahme aus, statt still beschnitten zu werden.

Parameters

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.

Returns

ndarray

Neues Array derselben shape.

Raises

ValueError

Tafel ragt aus dem Bild / Text passt nicht / zu wenig Kontrast /

unbekannter Rollenname oder Anker / negativer Innenabstand.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie figure_annotation

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• dataset_conventions — Konventionen für Trainingsdatensätze — COCO / YOLO / VOC und Fallstricke in der Sichtprüfung

Referenzen (Beispieldaten, Literatur)

• 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.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• 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

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

arrow · leader_line · label_points · crosshair · legend_box · color_bar · scale_bar · axes_frame

Gleiche Kategorie (text)

measure_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.