6款开源中文OCR使用介绍(亲测效果)

前言

光学字符识别(Optical Character Recognition, OCR)是指对文本材料的图像文件进行分析识别处理,以获取文字和版本信息的过程。也就是说将图象中的文字进行识别,并返回文本形式的内容。
ocr主要流程:
在这里插入图片描述
随着ocr技术的日渐成熟,目前github中有很多开源项目可供选择,下面将介绍几种常用的开源ocr项目。

开源ocr项目

1. Paddle OCR(推荐指数:★★★★★)

1.1 简介

飞桨首次开源文字识别模型套件PaddleOCR,目标是打造丰富、领先、实用的文本识别模型/工具库。最新开源的超轻量PP-OCRv3模型大小仅为16.2M。同时支持中英文识别;支持倾斜、竖排等多种方向文字识别;支持GPU、CPU预测;用户既可以通过PaddleHub很便捷的直接使用该超轻量模型,也可以使用PaddleOCR开源套件训练自己的超轻量模型。

1.2 使用

安装使用说明

1.3 优缺点

  • 优点
    • 轻量模型,执行速度快
    • 支持pip直接安装
    • ocr识别效果好,效果基本可以比肩大厂收费ocr(非高精版)
    • 支持表格和方向识别
    • 支持补充训练且很方便
  • 缺点
    • 部分符号识别效果一般,如 '|‘识别为’1’
    • 对于部分加粗字体可能出现误识别,需要自己补充训练
    • 偶尔会出现部分内容丢失的情况

2. CnOCR(推荐指数:★★★★★)

2.1 简介

CnOCR 是 Python 3 下的文字识别(Optical Character Recognition,简称OCR)工具包,支持简体中文、繁体中文(部分模型)、英文和数字的常见字符识别,支持竖排文字的识别。自带了20+个训练好的识别模型,适用于不同应用场景,安装后即可直接使用。同时,CnOCR也提供简单的训练命令供使用者训练自己的模型。

2.2 使用

安装使用说明

2.3 优缺点

  • 优点
    • 轻量模型,执行速度快,速度略快于paddle ocr
    • 支持pip直接安装
    • ocr识别效果好,识别效果比肩paddle ocr
    • 支持训练自己的模型
  • 缺点
    • 部分符号识别效果差
    • 部分场景下会出现空格丢失情况
    • 模型补充训练没有paddle ocr方便

3. chinese_lite OCR(推荐指数:★★★)

3.1简介

超轻量级中文 ocr,支持竖排文字识别, 支持 ncnn、mnn、tnn 推理, 模型大小仅4.7M。

3.2 使用

安装使用说明

3.3 优缺点

  • 优点
    • 轻量模型,执行速度快,速度优于CnOCR和Paddle OCR
    • ocr识别效果尚可,优于一般开源模型,但比不上CnOCR和Paddle OCR
    • 作者提供了多种语言下的Demo
  • 缺点
    • 不支持pip安装
    • 文本位置识别略差
    • 不支持补充训练
    • 类手写字体识别效果一般
    • 部分场景下会出现误识别竖版文字的情况
      例如:
    姓     名: 张三
    性     别: 男
    年     龄: 19
    户     籍: 北京
    
    误识别为 '姓性年户'
    

4. EasyOCR(推荐指数:★★)

4.1 简介

EasyOCR是一个用于从图像中提取文本的python模块。它是一种通用的OCR,可以读取自然场景文本和文档中的密集文本。我们目前正在支持80多种语言并不断扩展。

4.2 使用

官方文档

4.3 优缺点

  • 优点
    • 支持pip安装,但需要自己手动下载模型
    • ocr识别效果尚可,优于一般开源模型
  • 缺点
    • 速度很慢,900 * 1200像素图片平均需要30s左右
    • 不支持补充训练

5. Tesseract OCR(推荐指数:★)

5.1 简介

Tesserat OCR 是一款可在各种操作系统运行的 OCR 引擎,这是一款开源软件,在Apache 许可下发布。最初由惠普在20世纪80年代作为专有软件开发,在2005年以开源的形式发布,从2006年开始由谷歌赞助,开发语言为 C++。

5.2 使用

官方文档

5.3 优缺点

  • 优点
    • 支持补充训练
  • 缺点
    • 安装使用困难,不支持pip安装
    • 中文识别效果差

6. chineseocr(推荐指数:★★)

6.1 简介

基于yolo3 与crnn 实现中文自然场景文字检测及识别

  • 文字方向检测 0、90、180、270度检测(支持dnn/tensorflow)
  • 支持(darknet/opencv dnn /keras)文字检测,支持darknet/keras训练
  • 不定长OCR训练(英文、中英文) crnn\dense ocr 识别及训练 ,新增pytorch转keras模型代码(tools/pytorch_to_keras.py)
  • 支持darknet 转keras, keras转darknet, pytorch 转keras模型
  • 身份证/火车票结构化数据识别
  • 新增CNN+ctc模型,支持DNN模块调用OCR,单行图像平均时间为0.02秒以下
    CPU版本加速
  • 支持基于用户字典OCR识别
  • 新增语言模型修正OCR识别结果
  • 支持树莓派实时识别方案

6.2 使用

官方文档

6.3 优缺点

  • 优点
    • 支持补充训练
    • 有多版本优化模型
  • 缺点
    • 项目较老,使用的三方库较老,部分三方库已废弃,环境配置困难
    • 中文ocr识别效果一般
    • 不支持pip安装

总结

上述6个开源模型是常见的国内ocr模型,每个我都部署测试过,整体来看推荐使用paddle ocr和cnocr,某些场景下,如小图片且对速度要求较高可以尝试使用chinese_lite ocr.



有其他开源中文ocr推荐,欢迎补充!

  • 17
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
关于身份证人脸检测OCR开源,目前有一些开源框架和工具可供使用。其中,常用的开源OCR库包括Tesseract、OpenCV和EasyOCR。 Tesseract是一个开源OCR引擎,由Google开发并维护。它支持多种语言,并且在识别印刷体身份证方面表现良好。 OpenCV是一个强大的计算机视觉库,其中包含了很多图像处理和分析的功能。它提供了用于人脸检测的算法,并可以与其他OCR引擎结合使用。 EasyOCR是一个基于深度学习的OCR库,它使用了预训练的模型来实现多语言的文本识别,并且支持身份证的识别和人脸检测。 这些开源框架和工具可以帮助开发者快速地实现身份证人脸检测OCR的功能,并且可以根据具体需求进行定制和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [对比了最常见的几家开源OCR框架,我发现了最好的开源模型](https://blog.csdn.net/weixin_42137700/article/details/109308720)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [OCR身份证识别免费试用,附带Java代码](https://blog.csdn.net/Ahairlessman/article/details/125724397)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值