深圳知名网站设计公司排名,网站编辑器哪个好用,国内网络销售平台有哪些,宁波建站推广技术公司大家好#xff0c;今天给大家分享一个基于PyTorch的OCR库EasyOCR#xff0c;它允许开发者通过简单的API调用来读取图片中的文本#xff0c;无需复杂的模型训练过程。 项目介绍
EasyOCR 是一个基于Python的开源项目#xff0c;它提供了一个简单易用的光学字符识别#xff…大家好今天给大家分享一个基于PyTorch的OCR库EasyOCR它允许开发者通过简单的API调用来读取图片中的文本无需复杂的模型训练过程。 项目介绍
EasyOCR 是一个基于Python的开源项目它提供了一个简单易用的光学字符识别OCR工具支持超过80种语言以及多种书写脚本包括拉丁文、中文、阿拉伯文、天城体、西里尔文等。
EasyOCR 利用PyTorch作为其深度学习执行框架展示了对人工智能和机器学习在文本识别领域的强大应用能力。
核心特点
多语言支持支持超过 80 种语言和所有流行的书写系统包括拉丁文、中文、阿拉伯文、梵文、西里尔文等可满足全球用户处理不同语言文档的需求。
高准确性对于正常图片文本识别准确率能达到较高水平无论是手写体还是印刷体都能够较为准确地识别其深度学习模型能够学习不同语言的字符特征和书写风格从而提高识别精度。
文本检测与识别功能兼具不仅可以识别图片中的文本内容还能检测出文本框的位置以左上、右上、右下、左下坐标顺序依次返回可应用于多种需要定位文本的场景如文档排版分析、图像内容理解等。
支持 GPU 加速配置好相应的 CUDA、PyTorch、Torchvision Python 环境后可使用 GPU 进行加速识别速度相比 CPU 快 6~7 倍能够提高处理效率更快地完成大量图片的文本识别任务。
易于使用将所有功能封装到一个类中通过简单的函数调用即可实现文本识别和检测。并且已经上传到 PyPI可通过 pip 命令完成安装使用 Python 调用非常方便。 技术架构 关键技术 CRAFT 算法用于文本检测。 CRNN 模型用于文本识别由特征提取、序列标注和解码三个组件组成。 PyTorch用于深度学习模型的训练和推理。
框架 Python主要编程语言。 PyTorch深度学习框架。 OpenCV用于图像处理。
应用场景
文档数字化帮助用户将纸质文档快速、准确地转换为电子文档便于存储、检索和共享提高文档管理的效率和便利性。
数据录入能够自动化数据录入流程减少人工输入的错误和时间成本适用于处理大量表单、报表等数据的场景如企业的财务数据录入、物流信息录入等。
多语言翻译自动识别并提取不同语言的文本为多语言翻译提供基础方便跨国交流和信息共享例如在处理跨国公司的文件、国际学术文献等方面有很大的应用价值。
内容审核可以自动识别图像中的文本内容用于内容审核和合规性检查帮助用户快速筛选出包含特定关键词或不符合规定的文本信息如在社交媒体、网络平台等的内容监管方面发挥作用。
其他场景还可应用于金融领域的票据识别、互联网爬虫中的文本提取、支付系统中的二维码和条形码识别、大数据处理中的文本抓取和解析、车辆车牌识别等多种业务场景。
安装使用
安装
安装依赖 Python 环境确保你已经安装了 Python 3.6 或更高版本。 CUDA 和 cuDNN可选如果你有 NVIDIA GPU 并希望使用 GPU 加速请安装 CUDA 和 cuDNN。 PyTorchEasyOCR 依赖于 PyTorch因此需要先安装 PyTorch。
步骤 1安装 PyTorch
首先你需要安装 PyTorch。你可以根据你的系统配置和是否使用 GPU在 PyTorch 官网 上找到合适的安装命令。例如如果你使用的是 Windows 系统并且没有 GPU可以使用以下命令
pip install torch torchvision torchaudio
步骤 2安装 EasyOCR
安装完 PyTorch 后你可以通过 pip 安装 EasyOCR。
pip install easyocr
使用
可通过下列代码进行简单验证。
import easyocr
reader easyocr.Reader([ch_tra,en]) # 加载简体中文和英文模型
result reader.readtext(chinese.jpg)
以此图片为例 将输出下列结果
[([[448, 111], [917, 111], [917, 243], [448, 243]],高鐵左營站,0.9247),
([[454, 214], [629, 214], [629, 290], [454, 290]], HSR, 0.9931),
([[664, 222], [925, 222], [925, 302], [664, 302]],Station,0.3260),
([[312, 306], [937, 306], [937, 445], [312, 445]],汽車臨停接送區,0.7417),
([[482, 418], [633, 418], [633, 494], [482, 494]],Kiss,0.9577),
([[331, 421], [453, 421], [453, 487], [331, 487]], Car, 0.9630),
([[653, 429], [769, 429], [769, 495], [653, 495]], and, 0.9243),
([[797, 429], [939, 429], [939, 497], [797, 497]],Ride,0.6400)]
你可以通过设置detail0输出简单结果
result reader.readtext(chinese.jpg, detail0)
如果你有 GPU 并希望使用 GPU 加速可以在创建 Reader 实例时设置 gpuTrue。
reader easyocr.Reader([ch_tra,en], gpuTrue)
总结
EasyOCR作为一个轻量级但功能强大的OCR库为Python开发者提供了便捷的文字识别方案。虽然在某些复杂的场景下EasyOCR的识别准确率可能不如一些商业OCR引擎但对于大部分日常应用场景来说EasyOCR已经足够胜任。相信随着EasyOCR的不断发展它将在更多领域发挥其独特的作用。
项目地址
https://github.com/JaidedAI/EasyOCR
一款支持80语言包括拉丁文、中文、阿拉伯文、梵文等开源OCR库 - BTool博客 - 在线工具软件为开发者提供方便