Windows和Linux下使用Python搭建一个图片OCR工具

 更新时间:2026年01月13日 08:43:59   作者:weixin_46244623  
本文介绍了如何在 Windows 和 Linux 系统 下,基于 Python 3.10 虚拟环境,搭建一个用于 OCR(PaddleOCR / PaddleX)与 PDF 处理 的 Python 运行环境

识别结果效果

案例参考图片

一、安装系统级依赖

Windows 系统

在 Windows 系统下,从 Python 官方网站 下载 Python 3.10 版本安装包,安装时勾选 “Add Python to PATH” 选项。

Linux 系统

在 Linux 系统下,安装 Python 3.10 及常用开发组件:

sudo apt update
sudo apt install -y \
  python3.10 \
  python3.10-venv \
  python3.10-dev \
  python3.10-distutils \
  python3-pip

这些组件分别用于:

  • python3.10:Python 解释器
  • venv:虚拟环境支持
  • dev / distutils:编译与打包依赖
  • pip:Python 包管理工具

二、创建并激活虚拟环境

1. 创建虚拟环境

python -m venv paddle_py10

2. 激活虚拟环境

Windows 系统

paddle_py10\\Scripts\\activate

Linux 系统

source paddle_py10/bin/activate

激活成功后,终端前会显示:

(paddle_py10)

三、安装 PaddlePaddle(CPU 版本)

在虚拟环境中安装 PaddlePaddle CPU 版(适用于 Windows 和 Linux):

python -m pip install paddlepaddle -i https://www.paddlepaddle.org.cn/packages/stable/cpu/

说明:

  • 使用官方国内镜像,下载速度更快
  • 该版本适合 无 GPU / CPU 推理环境
  • 自动检测操作系统并安装相应版本

四、安装 PDF 相关依赖

1. 安装 PyMuPDF(PDF 解析)

pip install PyMuPDF

主要用于:

  • PDF 页面解析
  • 文本 / 图片提取
  • PDF 转图片(OCR 前处理)

2. 安装 PaddleX(含 OCR 模块)

pip install "paddlex[ocr]"

功能包括:

  • OCR 模型封装
  • 文本检测 / 识别
  • 表格与版面分析

3. 安装 ReportLab(PDF 生成)

pip install reportlab

完整代码

from paddleocr import PaddleOCRVL
from PIL import Image
import numpy as np

pipeline = PaddleOCRVL(
    device="cpu"
)

img = Image.open(
    "v2-f644e32ef8fb2b15b6dd7218eff5f844_r.jpg"
).convert("RGB")

# resize
max_side = 1024
w, h = img.size
scale = min(max_side / w, max_side / h, 1.0)
img = img.resize((int(w * scale), int(h * scale)))

# 重要一步:PIL → numpy (防止CPU超过内存)
img_np = np.array(img)

output = pipeline.predict(img_np)

for res in output:
    res.print()
    res.save_to_json(save_path="output")
    res.save_to_markdown(save_path="output")

输出目录示例(Windows)

(paddle_py10) C:\workspace\output> dir
1768203146_1313.md
1768203146_1313_res.json

输出目录示例(Linux)

(paddle_py10) user@machine:/home/user/workspace/output$ tree
├── 1768203146_1313.md
└── 1768203146_1313_res.json

0 directories, 4 files

转PDF和word请参考相关文章参考:

到此这篇关于Windows和Linux下使用Python搭建一个图片OCR工具的文章就介绍到这了,更多相关Python图片OCR内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 实现矩阵填充0的例子

    python 实现矩阵填充0的例子

    今天小编就为大家分享一篇python 实现矩阵填充0的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 排序算法之希尔排序法解析

    排序算法之希尔排序法解析

    这篇文章主要介绍了排序算法之希尔排序法解析,希尔排序法(Shell Sort),也称为缩小增量排序,是一种改进的插入排序算法,它通过将待排序的元素按照一定的间隔分组,对每个分组进行插入排序,逐渐减小间隔直至为1,最后对整个序列进行一次插入排序
    2023-07-07
  • python目标检测基于opencv实现目标追踪示例

    python目标检测基于opencv实现目标追踪示例

    这篇文章主要为大家介绍了python基于opencv实现目标追踪示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python之维度dim的定义及其理解使用方式

    Python之维度dim的定义及其理解使用方式

    这篇文章主要介绍了Python之维度dim的定义及其理解使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python类中方法种类与修饰符从基础到实战详解

    Python类中方法种类与修饰符从基础到实战详解

    在Python面向对象编程中,方法有不同的种类和修饰符,它们各自有着特定的用途和行为,本文将全面解析Python中的各种方法类型,并通过一个综合案例帮助你彻底掌握这些概念,需要的朋友可以参考下
    2025-07-07
  • Python如何使用BeautifulSoup爬取网页信息

    Python如何使用BeautifulSoup爬取网页信息

    这篇文章主要介绍了Python如何使用BeautifulSoup爬取网页信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 使用Python从图像中提取文本OCR库的操作详解

    使用Python从图像中提取文本OCR库的操作详解

    光学字符识别(OCR, Optical Character Recognition)是一种将印刷或手写文本从图像、PDF或扫描件中提取为机器可读文本的技术,使用Python进行OCR处理,开发者可以轻松调用各种OCR库,所以本文将给大家介绍使用Python从图像中提取文本OCR库的操作
    2024-08-08
  • 通过Python使用saltstack生成服务器资产清单

    通过Python使用saltstack生成服务器资产清单

    人工去对每一台服务器的硬件信息并记录早已经过去了,无论通过脚本还是自动化工具都是可以进行一次编写到处抓取的,本文主要使用saltstack作为使用工具,然后利用其提供的APi编写所需的Python脚本
    2016-03-03
  • Python用requests库爬取返回为空的解决办法

    Python用requests库爬取返回为空的解决办法

    这篇文章主要介绍了Python用requests库爬取返回为空的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python新手入门指南之如何极速搭建开发环境

    Python新手入门指南之如何极速搭建开发环境

    Python在软件开发领域占据重要地位,广泛应用于Web开发,数据分析,人工智能及自动化脚本等领域,本文我们就来看看如何快速搭建Python开发环境吧
    2025-06-06

最新评论