前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8.5K 强强强!!!支持90多种语言的强大OCR

8.5K 强强强!!!支持90多种语言的强大OCR

作者头像
开源日记
发布2024-06-11 19:37:45
1170
发布2024-06-11 19:37:45
举报
文章被收录于专栏:JVMGCJVMGC

软件介绍

Surya 是一个文档OCR工具包,提供强大的OCR(光学字符识别)和线条检测功能,支持90多种语言。

近期热文:

5.5K Star 强强强!!!PPT在线制作的开源方案13.8K Star开源!这个电子表格厉害了1.5K 强强强!!!开源超强的AI助手,支持多系统OA必备!!!开源一个好看的工作流设计器

  • OCR: 支持90多种语言的OCR,优于云服务的基准测试;
  • 文本行检测: 可以在任何语言中进行行级文本检测;
  • 排版分析: 包括表格、图像、页眉等的检测;
  • 阅读顺序检测: 有助于文档内容的阅读顺序。

性能对比

surya和tesseract光学字符识别性能对比
surya和tesseract文本行检测性能对比

快速入门

  • 1.安装: 安装 surya-ocr 需要 Python 3.9+ 和 PyTorch。首次运行会自动下载模型权重。
代码语言:javascript
复制
pip install surya-ocr
  • 2.文本识别(OCR): 根据示例代码运行OCR,识别图片中的文本信息;
代码语言:javascript
复制
from PIL import Image
from surya.ocr import run_ocr
from surya.model.detection import segformer
from surya.model.recognition.model import load_model
from surya.model.recognition.processor import load_processor

# 读取图像
image = Image.open(IMAGE_PATH)
langs = ["en"]  # 替换为具体语言
det_processor, det_model = segformer.load_processor(), segformer.load_model()
rec_model, rec_processor = load_model(), load_processor()

# 运行 OCR
predictions = run_ocr([image], [langs], det_model, det_processor, rec_model, rec_processor)

  • 3.文本行检测: 使用相应的模型进行文本行检测;
代码语言:javascript
复制
from PIL import Image
from surya.detection import batch_text_detection
from surya.model.detection.segformer import load_model, load_processor

# 读取图像
image = Image.open(IMAGE_PATH)
model, processor = load_model(), load_processor()

# 进行文本行检测
predictions = batch_text_detection([image], model, processor)
  • 4.排版分析: 使用提供的模型和处理器进行文档的排版分析;
代码语言:javascript
复制
from PIL import Image
from surya.detection import batch_text_detection
from surya.layout import batch_layout_detection
from surya.model.detection.segformer import load_model, load_processor
from surya.settings import settings

# 读取图像
image = Image.open(IMAGE_PATH)
model = load_model(checkpoint=settings.LAYOUT_MODEL_CHECKPOINT)
processor = load_processor(checkpoint=settings.LAYOUT_MODEL_CHECKPOINT)
det_model = load_model()
det_processor = load_processor()

# 进行排版分析
line_predictions = batch_text_detection([image], det_model, det_processor)
layout_predictions = batch_layout_detection([image], model, processor, line_predictions)
  • 5.阅读顺序检测: 进行文档内容的阅读顺序检测。
代码语言:javascript
复制
from PIL import Image
from surya.ordering import batch_ordering
from surya.model.ordering.processor import load_processor
from surya.model.ordering.model import load_model

image = Image.open(IMAGE_PATH)
# bboxes应该是一个包含[x1,y1,x2,y2]格式的图像布局框的列表
# 例如,可以从layout_model获取此信息,参见上面的用法示例
bboxes = [bbox1, bbox2, ...]

model = load_model()
processor = load_processor()

# 进行阅读顺序检测
order_predictions = batch_ordering([image], [bboxes], model, processor)

Surya 的强大功能使其适用于处理各种类型的文档,其中包括文字识别、文本行检测、排版分析和内容阅读顺序检测。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 软件介绍
  • 性能对比
    • surya和tesseract光学字符识别性能对比
      • surya和tesseract文本行检测性能对比
      • 快速入门
      相关产品与服务
      AI 应用产品
      文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档