RapidOCR:识别促销图后,把每行文字和坐标一起交给程序

开源项目猫目发布于 来源:RapidOCR 官方产品资料与使用说明
中文、英文和数字混排的图片,输出不必止于一段字符串。
RapidOCR:识别促销图后,把每行文字和坐标一起交给程序

为什么值得关注

通过官方中英数字混排促销图解释行文本、四点坐标和置信度如何配合使用。

适合谁:要将截图文字接入整理、校对或标注流程的 Python 开发者

这次有哪些亮点

  • boxes、txts、scores 按行对应
  • 官方样例可输入图片网址并保存可视化结果
  • 当前文档单列模型归属与哈希,区分代码和上游权重

使用前需要知道

需要 Python 及推理运行库;首次可视化可能下载字体;文字行结果不等于商品字段或表格语义,模型许可须按实际制品核对。

一张促销图同时出现“5.8 起”和两处“10.0 起”,把识别文字全部拼起来,后续程序仍不知道哪个数字对应哪块内容。RapidOCR 更适合被看作程序里的 OCR 组件:除了文字,它把每行文字的四点坐标和置信度一起返回,方便继续做标注、选区提取或人工校对。

官方例图里的数字为何需要位置

当前快速开始使用一张中文、英文和数字混排的促销图片。图中有“正品促销”“大桶装 更划算”,中央醒目的“5.8 起”,左右还有更小的“10.0 起”。这些内容是对官方输入图的观察,并非一份识别准确率测评。

如果拿它演示电商素材整理,任务可以分两步:OCR 先交付文字及位置,业务程序再决定提取哪个区域的价格。直接选“所有数字中最小的一个”会丢掉排版含义;保留数字所在位置,才能与画面的主价格区域对应。这是一个可实现的后处理思路,不是 RapidOCR 自带的价格理解功能。

一个结果对象,而非三份互不相干的清单

当前 Python 接口创建 RapidOCR() 后,可以把图片路径或官方示例网址交给引擎。返回的 RapidOCROutput 中,boxes 是每行文字的四点坐标,形状为 (N, 4, 2);txts 是对应的文字;scores 是逐行置信度。三者顺序相同,读取第几行文本,就应使用同一位置的框和分数。

这让结果可以回到原图上。比如某个短数字被识别得不够可靠,校对界面可以只展示那一行附近的图片;把文字与框分别重新排序,反而可能把正确文字标到错误位置。置信度是模型给出的信号,不是“这一行有多少百分比一定正确”的保证。

调用 result.vis("vis_result.jpg") 可以保存可视化结果,帮助查看识别行与图片区域的关系。官方特别注明,首次运行这一步可能下载字体;离线环境可以提前配置 font_path,或先省略可视化。希望完全离线处理时,模型、运行库和字体的准备都要考虑进去,不能只看到“离线推理”四个字。

它负责接入,模型来源仍要分清

仓库说明写明,项目将 PaddleOCR 模型转换为 ONNX 等适合终端推理的形式;本仓库是 Python 组件,其他语言组件已有各自仓库。默认支持中英识别,更多语言要选择对应模型,不是给任意语言图片都使用同一个中文模型。

代码按 Apache 2.0 发布。模型许可与归属声明另列所覆盖模型的上游来源、制品和哈希,说明上游权重归属不因转换而转移;它也明确不自动覆盖所有第三方模型、字体和示例资源。对使用者而言,RapidOCR 的独立价值是将 OCR 接进自己的处理流程:拿到按行对应的文字与位置,再把“哪些内容值得留下”交给实际业务规则。

原始资料:RapidOCR 官方产品资料与使用说明

以上为编辑整理,功能、许可与使用条件以官方说明为准。

返回每日分享