当前位置: 首页 > article >正文

如何用python部署本地ocr脚本

环境:

EasyOCR

win10

i5 cpu运行

问题描述:

如何用python部署本地ocr脚本?

解决方案:

EasyOCR 是一个可以在本地运行的 OCR 工具。它不需要依赖于云端服务或互联网连接,所有处理都在本地计算机上完成。这意味着可以将 EasyOCR 集成到你的应用程序中,并在没有网络的情况下使用它进行文本识别。

本地运行的优势

  1. 隐私保护:因为所有的图像和文本处理都在本地进行,所以不用担心数据泄露或隐私问题。
  2. 实时性:本地处理可以减少延迟,提供更快的响应时间,特别是在需要快速反馈的应用场景中。
  3. 成本控制:无需支付云服务费用,特别是对于大规模或频繁使用的应用来说,这可以显著降低成本。
  4. 离线可用:即使没有互联网连接,你也可以正常运行 EasyOCR 进行 OCR 任务。

本地环境要求

为了确保 EasyOCR 在本地环境中顺利运行,你需要满足以下几点:

  1. Python 环境
    • 安装 Python(推荐版本 3.6+)。
    • 使用 pip 安装 EasyOCR 及其依赖项:
      pip install easyocr
      

在这里插入图片描述

  1. 硬件资源

    • EasyOCR 可以在普通的 CPU 上运行,但如果你有 GPU 支持(如 NVIDIA),可以通过安装 PyTorch 的 GPU 版本来加速处理速度。
    • 对于较大的图像或复杂的 OCR 任务,更多的内存和更强的处理器会提高性能。
  2. 预训练模型下载

    • 第一次初始化 easyocr.Reader 时,它会自动下载所需的预训练模型文件。这些模型文件会被缓存下来,以便后续使用时不再重新下载。
    • 如果你在没有互联网连接的环境中工作,可以提前在一个联网的机器上下载好模型文件,然后将其复制到目标机器的相应位置。

本地运行 EasyOCR

下面是一个完整的示例,展示了如何在本地环境中使用 EasyOCR 进行 OCR 识别:

import easyocr

# 初始化 EasyOCR 读取器,指定所需的语言(例如中文、英文)
reader = easyocr.Reader(['ch_sim', 'en'])  # 支持多语言,如['en', 'zh-cn']

# 读取本地图像文件并进行 OCR 识别
result = reader.readtext('path_to_your_local_image.jpg')

# 打印结果
for (bbox, text, prob) in result:
    print(f"Detected text: {text}, Confidence: {prob:.2f}")

path_to_your_local_image.jpg 是你本地磁盘上的图像路径,EasyOCR 将直接从该路径加载图像并进行文本识别。

目标图片:

在这里插入图片描述

运行脚本要下模型,需要科学上网
在这里插入图片描述
下载完了模型再次运行

模型比较小很快下载好
在这里插入图片描述
识别结果:
CompleteDetected text: A漤人, Confidence: 0.05
Detected text: 携手创造美好未来, Confidence: 0.85

注意事项

  • 首次运行:第一次调用 easyocr.Reader 时,可能会花费一些时间来下载必要的模型文件。之后这些文件会被缓存起来,再次运行时会快得多。
  • 模型大小:预训练模型文件可能较大,占用一定的磁盘空间。请确保有足够的存储空间。
  • 多语言支持:如果你选择了多种语言,那么相应的多语言模型文件也会被下载。如果只需要一种语言,可以选择只加载该语言的模型以节省资源。

手动下载 EasyOCR 所需的模型文件

手动下载 EasyOCR 所需的模型文件,你可以直接访问官方提供的模型下载链接。以下是具体的步骤和模型下载地址:

官方模型下载地址

EasyOCR 的预训练模型可以从其官方 GitHub 仓库中的 Model Hub 页面获取。该页面列出了所有可用的语言模型及其下载链接。

直接下载链接

对于常用的语言模型,如中文(简体)和英文,你可以使用以下直接下载链接:

  • craft_mlt_25k.pth(文本检测模型):

    • Download Link
  • chinese_g2.pth(中文识别模型):

    • Download Link
  • english_g2.pth(英文识别模型):

    • Download Link

下载并安装模型文件

  1. 创建存储目录

    • 在你的用户主目录下创建 .EasyOCR 文件夹,并在其中创建 model 子文件夹。
      mkdir -p ~/.EasyOCR/model
      
  2. 下载模型文件

    • 使用你喜欢的下载工具(如浏览器、wgetcurl)从上述链接下载所需的模型文件,并将它们保存到 ~/.EasyOCR/model 目录中。
  3. 验证文件完整性

    • 确保下载的文件完整无误。你可以通过对比文件大小或计算哈希值来验证。
  4. 运行代码

    • 再次运行你的 Python 脚本,这次应该不会再尝试重新下载模型文件,而是直接使用本地已有的模型。

示例:批量下载多个模型

需要下载多个语言的模型文件,可以编写一个简单的脚本来自动化这个过程:

import os
import urllib.request

# 创建存储目录
os.makedirs(os.path.expanduser('~/.EasyOCR/model'), exist_ok=True)

# 模型下载链接字典
model_links = {
    'craft_mlt_25k.pth': 'https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.4/craft_mlt_25k.pth',
    'chinese_g2.pth': 'https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.4/chinese_g2.pth',
    'english_g2.pth': 'https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.4/english_g2.pth'
}

# 下载模型文件
for model_name, url in model_links.items():
    model_path = os.path.join(os.path.expanduser('~/.EasyOCR/model'), model_name)
    print(f"Downloading {model_name}...")
    urllib.request.urlretrieve(url, model_path)
    print(f"Downloaded {model_name} to {model_path}")

print("All models have been downloaded.")

注意事项

  • 网络连接:确保你有稳定的互联网连接以完成下载。
  • 文件权限:确保你有权限在目标目录中创建文件和写入数据。
  • 磁盘空间:确认有足够的磁盘空间来存储这些模型文件。

http://www.kler.cn/a/506702.html

相关文章:

  • Redis延迟队列详解
  • C语言的数据库交互
  • LeetCode 热题 100 | 矩阵
  • docker安装mysql 5.7
  • 2Spark Core
  • 【cs.CV】25.1.15 arxiv更新速递
  • macos arm 本地/docker/本地k8s 安装jupyterhub 并登陆
  • 【正则表达式】从0开始学习正则表达式
  • uniapp css 实现向上弹出内容
  • 解决 多层跳板机情况下,ssh可以成功连但是VSCode失败
  • GPU算力平台|在GPU算力平台部署虚拟服装试穿工具OOTDiffusion的教程
  • C++入门基础(1)
  • 前端【2】html添加样式、CSS选择器
  • 算法与数据结构——复杂度
  • 20241130 RocketMQ本机安装与SpringBoot整合
  • CVPR 2024 视频处理方向总汇(视频监控、视频理解、视频识别和视频预测等)
  • JavaScript系列(29)--设计模式详解
  • 2025年01月15日Github流行趋势
  • 火绒剑独立版 - 强大的Windows系统安全分析工具
  • 基于 Python 的毕设选题管理系统设计与实现
  • 前端如何创建微任务
  • 【gRPC】clientPool 客户端连接池简单实现与go案例
  • Go语言之路————条件控制:if、for、switch
  • Oracle EBS GL定期盘存WIP日记账无法过账数据修复
  • Go语言封装加解密包(AES/DES/RSA)
  • Sprint Boot教程之五十八:动态启动/停止 Kafka 监听器