1. 产品
  2.   解析器
  3.   Python
  4.   Keras-OCR
 
  

基于Keras和TensorFlow的端到端OCR流程

在Python中使用Keras-OCR实现简单而强大的文本识别

什么是Keras-OCR API?

Keras-OCR是一个高级开源Python库,旨在利用Keras和TensorFlow的强大功能简化光学字符识别(OCR)任务。与需要复杂配置的传统OCR系统不同,Keras-OCR提供了一个端到端流程,包含预训练模型用于文本检测(使用CRAFT算法)和文本识别(通过CRNN模型)。这种组合使开发人员只需几行代码就能从图像、扫描文档甚至手写笔记中提取文本。

该库针对实际用例进行了优化,包括:

  • 文档数字化:将纸质文档或PDF转换为可搜索文本
  • 自动化数据录入:从发票、收据或表单中提取文本
  • 无障碍工具:为Web应用中的图像生成替代文本
  • 社交媒体分析:处理表情包或用户生成内容中的文本

通过内置的批处理支持和可选的GPU加速,Keras-OCR在易用性和性能之间取得了平衡,非常适合原型设计和生产部署。

GitHub

GitHub 统计

姓名:
语言:
星星:
叉子:
执照:
存储库上次更新于

Keras-OCR主要特性

  • 预训练模型:包含CRAFT(检测器)和CRNN(识别器)可直接使用
  • 简单安装:最小依赖(Keras、TensorFlow、OpenCV)
  • 批处理:并行处理多张图像提高效率
  • 自定义训练:在自己的数据集上微调模型
  • 无需GPU:可在CPU上运行但支持GPU加速
  • 边界框输出:返回带坐标的文本用于空间分析
  • 开源:免费、社区驱动、MIT许可

安装

通过pip安装Keras-OCR(需要Python 3.6+):

安装Keras-OCR


pip install keras-ocr

如需GPU支持,请确保安装TensorFlow GPU版本:

安装TensorFlow GPU版本


pip install tensorflow-gpu

代码示例

以下是使用Keras-OCR从图像中提取文本的实用示例。

Keras-OCR文本检测

示例1:基本文本检测与识别

此示例展示如何使用预训练流程从图像中提取文本:

基本OCR流程


import keras_ocr

pipeline = keras_ocr.pipeline.Pipeline()
images = ["receipt.jpg"]
predictions = pipeline.recognize(images)
print(predictions)

示例2:批处理

同时处理多张图像提高效率:

批处理


import keras_ocr

pipeline = keras_ocr.pipeline.Pipeline()
images = ["image1.jpg", "image2.jpg", "image3.jpg"]
batch_predictions = pipeline.recognize(images)
for prediction in batch_predictions:
    print(prediction)

示例3:可视化边界框

在原图上绘制检测到的文本框:

可视化结果


import matplotlib.pyplot as plt
import keras_ocr

pipeline = keras_ocr.pipeline.Pipeline()
image = keras_ocr.tools.read("document.jpg")
predictions = pipeline.recognize([image])
keras_ocr.tools.drawAnnotations(image, predictions[0])
plt.imshow(image)
plt.show()

结论

Keras-OCR通过开箱即用的流程简化了文本提取,是需要快速、准确OCR而无需复杂配置的开发人员的绝佳选择。其与Keras和TensorFlow的集成允许自定义,而批处理确保了可扩展性。

无论您是在构建文档扫描器、自动化数据录入还是分析社交媒体内容,Keras-OCR都提供了一个轻量级但功能强大的解决方案。

类似产品

 中国人