ocr op• Data kinds: table → table
• Call: import fullseye as fs; fs.ledger.ocr_read_trials(text, factor, levels, *, model, font=None, char_height_px=24.0, trials=20, render=None, capture=None, level_jitter=0.0, refine=False, seed=0) (to call the implementation directly, import symbolpod; symbolpod.ocr_read_trials(text, factor, levels, *, model, font=None, char_height_px=24.0, trials=20, render=None, capture=None, level_jitter=0.0, refine=False, seed=0); from the registry, opssymbol.get("ocr_read_trials"))
• GPU: none (CPU reference implementation only)
Capture a printed string trials times at each degradation level, read it by OCR and return one row per attempt (table).
> The detailed description below is the original text — the summary and the headings are translated.
Legibility trials for classical OCR: render text with the built-in font (ocrclassic.ocr_render_text; font defaults to the model's font), apply the capture chain (symrender.capture_degrade, sensor 20000 e / 10 e / 8 bit by default) with the swept factor (OCR_FACTORS), and read the line with ocrclassic.ocr_read_line. Each trial draws a fresh sub-pixel offset of the line and a sensor-noise seed. Outcomes per capture: hit = the whole string read exactly, misread = at least one character read as a *different* character (substituted or inserted, per ocrclassic.ocr_score) — the dangerous case, never folded into the read rate —, noread = otherwise (rejects ? or missing characters only). The table has the same columns as symbol_read_trials (plus rejected_chars / substituted_chars) so symbol_read_pod fits it. refine and level_jitter work as in symbol_read_trials.
空の入力(text == "" / levels が 3 未満)は ValueError。拒否(ValueError): 未知の factor、trials < 1、水準の重複・非有限、字種の外の文字、render / capture に掃引中の因子と同じ鍵、level_jitter が [0, 0.5] の外、OCR の模型でない model。
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• poc_symbol_lot_ocr — py -3.11 examples/poc_symbol_lot_ocr.py
table as input)render_symbol · symbol_read_trials · symbol_read_pod · ocr_classify · ocr_read_line
ocr)ocr_font · ocr_render_text · ocr_segment_line · ocr_features · ocr_train · ocr_classify · ocr_read_line · ocr_score
*Provenance: symbolpod.py — SYMBOL operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.