用途:用 MATLAB 的 ocr() 从图像中提取文字,覆盖诊断、预处理、文本检测、识别、验证的完整流程,可作为其他计算机视觉任务中读取标签、时间戳、序列号的辅助步骤。
主要能力:支持文档、标牌、仪表、标签、七段数码管及多语言文本识别;可批量处理图像数据集;提供基于检测框的分区域识别,配合 detectTextCRAFT 处理自然场景、imsegsam 处理纹理背景上的文字;用 evaluateOCR 计算字符错误率(CER)与词错误率(WER)做量化验证。
必要用法与规则:先做视觉诊断并输出“## OCR Plan”,再进行任何 MATLAB 调用;预处理管线最多两种,无效时向用户确认;向 ocr() 传检测框时必须设置 LayoutAnalysis(单词用 "word",多行用 "block");先检查极性,需要深色字浅色底;使用 detectTextCRAFT、imsegsam 或非英文模型前,须用 exist('<functionName>','file') 确认已安装并记录于 decision_log.txt;结果必须先写入 ocr_pipeline_<descriptor>.m 与 decision_log.txt,再向用户展示。
适用与不适用:适合图像文字提取与场景文本识别;不适合纯手写连笔、艺术字、验证码、完整文档版式与表格解析及实时视频 OCR,无文字图像也不适用。
限制:高置信度不保证正确,仍需人工核对;倾斜大于 10° 会导致识别失败;小字(小于 50px)需放大 4-8 倍;SAM 分割约需 60-120 秒且不可缩小分辨率,也不适用于压印、浮雕、雕刻文字;相关附加功能需安装对应支持包(如“Text Detection Using Deep Learning”“Image Processing Toolbox Automated Visual Inspection Library”“OCR Language Data”)。具体收费与价格资料暂未提供。