本地环境:
Python:3.12
CUDA:12.9
包管理器:conda
操作系统:Windows 10

创建 PaddlePaddle 框架 的 Python 虚拟环境

  • 使用 conda create -n env_name python=3.12 安装 PaddleOCR 的 python 虚拟环境并指定 python 版本为 3.12
  • 使用conda activate env_name激活环境后使用下面的命令安装 GPU 版本的 PaddlePaddle 框架:
1
$ python -m pip install paddlepaddle-gpu==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
  • 使用下面的命令验证是否成功安装,输出安装的框架版本号即表示安装成功
1
$ python -c "import paddle; print(paddle.__version__)"

安装 PaddleOCR 库

根据需要安装 PaddleOCR:

1
2
3
4
5
# 只希望使用基础文字识别功能(返回文字位置坐标和文本内容)
$ python -m pip install paddleocr

# 希望使用文档解析、文档理解、文档翻译、关键信息抽取等全部功能
$ python -m pip install "paddleocr[all]"

安装 paddleocr 报错:

1
2
3
File "<string>", line 17, in <module>
UnicodeDecodeError: 'gbk' codec can't decode byte 0x93 in position 2086: illegal multibyte sequence
ERROR: Failed to build 'ruamel.yaml.clibz' when getting requirements to build wheel

解决办法:指定 PaddlePaddle 的虚拟环境编码

1
2
3
4
5
6
7
8
# 激活该环境
$ conda activate new_env
# 在环境中设置
$ conda env config vars set PYTHONUTF8=1
$ conda env config vars set PYTHONIOENCODING=utf-8

# 重启终端,激活环境,然后再安装就没问题了
$ conda activate new_env

使用 Python 调用 PaddleOCR 库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from paddleocr import PaddleOCR

ocr = PaddleOCR(
use_doc_orientation_classify=False,
use_doc_unwarping=False,
use_textline_orientation=False) # 文本检测+文本识别
# ocr = PaddleOCR(use_doc_orientation_classify=True, use_doc_unwarping=True) # 文本图像预处理+文本检测+方向分类+文本识别
# ocr = PaddleOCR(use_doc_orientation_classify=False, use_doc_unwarping=False) # 文本检测+文本行方向分类+文本识别
# ocr = PaddleOCR(
# text_detection_model_name="PP-OCRv5_mobile_det",
# text_recognition_model_name="PP-OCRv5_mobile_rec",
# use_doc_orientation_classify=False,
# use_doc_unwarping=False,
# use_textline_orientation=False) # 更换 PP-OCRv5_mobile 模型
result = ocr.predict("./general_ocr_002.png")
for res in result:
res.print()
res.save_to_img("output")
res.save_to_json("output")

参考:
安装 - PaddleOCR 文档
开始使用_飞桨-源于产业实践的开源深度学习平台
PaddleOCR 全版本完整指南:从入门到精通,全面解析安装部署与高级应用