搜索煮译 | 那些好用的OCR工具(中)

搜索煮译 | 那些好用的OCR工具(中)

 胡佳宇 翻译技术教育与研究

 

2024年09月12日 00:12 

在上篇中,我们对扫描全能王和Doc2X这两款OCR工具进行了介绍,它们的出色性能和实用功能使其成为众多用户的必备工具。继续这个系列,我们将在中篇中聚焦于PaddleOCR、OCRmyPDF、Simple-ocr-opencv和EasyOCR,这四款工具各有特色,涵盖各种用户需求,为文字识别领域提供了丰富的解决方案。

PaddleOCR
PaddleOCR是百度开源的一套OCR工具库,支持多种语言,识别准确率高、速度快、支持多种模型和参数配置,可以满足大多数用户的需求。但其模型文件较大,资源消耗较高,需要一定的存储空间和CPU/GPU资源。
  • 官方地址:

https://github.com/PaddlePaddle/PaddleOCR
  • 命令:pip install paddleocr

  • 使用示例:

import paddleocr

#  初始化识别器

ocr = paddleocr.OCR()

#  读取图像文件

img_path = ‘/path/to/image.png’

img = paddleocr.read_image(img_path)

#  进行OCR识别

result = ocr.ocr(img)

#  输出识别结果

for line in result:

print(line)

  • 不足无法识别并输出表格,没有公式识别的能力。

OCRmyPDF

OCRmyPDF是基于Tesseract-OCR开发、训练的文字识别提取的开源项目。它可以将扫描或图像文件中的文本转换为可编辑的PDF文档。

  • 官方地址:

    https://github.com/ocrmypdf/OCRmyPDF

  • 装命令:pip install ocrmypdf

  • 使用示例:

ocrmypdf/path/to/input.pdf /path/to/output.pdf

  • 优点:

跨平台支无论是Windows、macOS还是 Linux,OCRmyPDF都能完美运行,满足不同用户的需求。

易于使用用户可以通过命令行界面轻松地将扫描的PDF 文件转换为包含OCR 文本层的PDF。

高度可定制支持多种语言的OCR 引擎,用户可以根据自己的需求选择合适的OCR 引擎。

Simple-ocr-opencv
simple-ocr-opencv是基于OpenCV和Numpy的OCR识别引擎。适用于处理常见的OCR任务,如身份证、营业执照、车牌等。易用性好、模型较小、部署方便,但识别率有待提高、功能相对简单。
  • 官方地址:

    https://github.com/goncalopp/simple-ocr-opencv

  • 安装命令:pip install simple-ocr-opencv

  • 使用示例:

import cv2

from simple_ocr import OCR

#  初始化OCR识别器

ocr = OCR()

#  读取图像文件

img_path = ‘/path/to/image.png’

img = cv2.imread(img_path)

#  进行OCR识别

result = ocr.ocr(img)

#  输出识别结果

print(result)

EasyOCR
EasyOCR是基于Tesseract OCR引擎的OCR识别库,用于图像识别输出文本,目前支持80多种语言。适用于文本排列和字检测准确度要求较高的OCR 应用场景,如名片识别、发票识别、商品标签识别等。但其模型文件较大,定制化难度较高,需要一定的开发经验。
  • 官方地址:

https://github.com/JaidedAI/EasyOCR

  • 安装命令:pip install easyocr

注:EasyOCR的模型是基于pytorch框架训练的,在easyocr下载同时会下载一些其它附加python包,例如pytorch,torchvision等,时间需要久一点。另外,官方提示win系统要预先安装好torch和torchvision。

  • 使用示例1:识别图像中的文本

From easyocr import EasyOCR

#  创建 EasyOCR 实例

ocr = EasyOCR()

#  识别图片中的文本

result = ocr.readtext(‘path/to/image.jpg’)

#  输出识别结果

for text in result:

print(text)

  • 使用示例2:识别视频中的实时文本

from easyocr import EasyOCR

#  创建 EasyOCR 实例

ocr = EasyOCR()

#  打开视频文件

video = cv2.VideoCapture(‘path/to/video.mp4’)

while True:

#  读取一帧视频

ret, frame = video.read()

if not ret:

break

#  识别视频帧中的文本

result = ocr.readtext(frame)

#  输出识别结果

for text in result:

print(text)

#  释放视频资源

video.release()

在本篇推文中,我们向您介绍了PaddleOCR、OCRmyPDF、Simple-ocr-opencv和EasyOCR四个工具。每个工具都有其特点和优势,可以帮助您在不同场景下处理文本识别任务。下篇推文中,我们将为您介绍PearOCR和Umi-OCR这两个独特的OCR工具。它们将为您带来更多惊喜和便利。敬请期待。
特别说明:本文仅供学习交流,如有不妥欢迎后台联系小编。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注