fullseye

text_box — ANNOTATE text op

使い方

下敷き(半透明の板)つきの文字。はみ出しは黙って切らず例外

Parameters

img : ndarray (H,W)(H,W,C)、float [0,1]。 text : str 描く文字列。 xy : (x, y) アンカーの位置(x=col, y=row、row は下向き)。 color : str or sequence 役割名または RGB。text_color 未指定ならこれが枠の色として 使われ、文字は読みやすい既定色になる。 text_color, box_color : str/sequence or None 文字色・板の色。None なら既定(明るい文字 × 暗い板)。文字色が None の ときは、実際に下に出る色に対して明るい既定色が min_contrast を 割る場合に限り、暗い文字(板の色)へ自動で切り替える ―― 板なし (box_alpha=0)で白地に置く目盛り・カラーバー・凡例のラベルが 白に溶けないため。text_color を明示したときは切り替えない (色は図の意味なので勝手に変えず、読めなければ例外にする)。 box_alpha : float 板の不透明度 [0,1]。0 なら板を描かない(目盛りラベル向け)。 anchor : str 'lt','ct','rt','lm','cm','rm','lb','cb','rb' の 9 通り。 pad : int 板の内側余白[px]。 max_width : int or None 文字の折り返し幅。None なら 1 行のまま。 wrap : bool False なら折り返さず 1 行のまま縮めて max_width に収める。 min_contrast : float 文字と「実際にその下に出る色」のコントラスト比の下限。下回れば ValueError(背景と同化した文字は誰も気づけないので通さない)。 限界(正直に): 比べる相手は板の下の平均色なので、 白と黒が半々に混じった写真の上に box_alpha=0 で置くと、平均は 中間灰になり検査を通ってしまう(白い部分の上の文字は読めない)。 地が荒れている場所では box_alpha を上げて板を効かせること ―― この検査は「板を忘れた」を捕まえるためのもので、 「板があっても読めない」まで保証はしない。 border : int 板の枠線の太さ(0 で枠なし)。色は border_colorcolor。 style : dict or None 枠線を引く :func:imagedraw.draw_polyline素通しする引数。

Returns

ndarray 同じ shape の新しい配列。

Raises

ValueError 板が画像からはみ出す / 文字が収まらない / コントラスト不足 / 未知の役割名・アンカー / 負の余白。

詳しい使い方ガイド

背景知識ガイド(この op の手前にある物理・規約)

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(image2d を入力に取れる)

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

同カテゴリ(text)

measure_text


Provenance: annotate.py — ANNOTATE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

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