layout op• 数据种类:table → table
• 调用: import fullseye as fs; fs.ledger.text_lines(boxes, stroke_width=None, overlap_ratio: 'float' = 0.5, gap_ratio: 'float' = 3.0, width_ratio: 'float' = 3.0)(要直接调用实现,import textregion; textregion.text_lines(boxes, stroke_width=None, overlap_ratio: 'float' = 0.5, gap_ratio: 'float' = 3.0, width_ratio: 'float' = 3.0);从台账取用则 opstext.get("text_lines"))
• GPU:无(仅 CPU 参考实现)
把字符候选矩形合并成文本行(纵向重叠、横向相近、笔画宽度相近)。
★规则的依据(2026-09-27 实测):候选是按笔画的碎片(横画与 'l' 的高度相差 5 倍),以"高度相近"为条件时 3 行被拆成 30〜60 行。行的同一性用纵向重叠(较小高度的 overlap_ratio 以上)判定,横向间隔在较大高度的 gap_ratio 倍以内,笔画宽度在 width_ratio 倍以内。
boxes 接受两种形式:(1) N×4 的矩形 [y0, x0, y1, x1] (原有形式),(2) text_candidates 返回的表(dict;必须有 boxes,若有 stroke_width 则使用它)。台账把本 op 的输入声明为 table,直接传入候选表即可连通链 text_candidates -> text_lines(★2026-11-03:以前传表会因 int() 的 TypeError 失败 —— 由配方的 e2e 发现)。传表的同时又单独传 stroke_width 时无法决定用哪个,因此 ValueError(fail-closed)。没有 boxes 键的 dict 也是 ValueError。
Returns dict:lines(M×4 的矩形)/ members(各行的候选 index 列表)。
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• 算法的正典(作者、年份)与用途见上面的族使用指南。
• poc_text_region_truth — py -3.11 examples/poc_text_region_truth.py
table 作为输入)—
layout)—
*Provenance: textregion.py — TEXT 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.