当前位置:首页>python>在Python项目中进行OCR文字识别

在Python项目中进行OCR文字识别

  • 2026-10-11 07:16:47
在Python项目中进行OCR文字识别

在Python项目中进行

OCR文字识别

我让AI写了段识别图片里的文字的Python代码,引入了pdf2image和paddlex,但是运行就报错,怎么办?

要实现Python的OCR文字识别,首先需要安装相关的包依赖。

我装了呀!

本文介绍两个工具包,一个是PaddleOCR:

PaddleOCR是百度基于深度学习技术开发的OCR工具库,专注于OCR任务,支持多种语言的文字检测与识别,新版本还支持复杂手写体和高精度文档解析,具有高效、准确的特点,适合在多种场景下进行图像文字识别。

另一个是PaddleX:

PaddleX 是飞桨(百度自研的开源深度学习框架)生态中面向工业级应用的深度学习开发套件,支持两类OCR模型:检测模型和识别模型。PaddleX OCR是一个功能强大且易于使用的OCR开发工具集,适合各类OCR应用场景,它能覆盖更广泛AI场景的低代码开发工具,除OCR外,还覆盖图像分类、目标检测、图像分割等多种模型和任务类型。

具体说说,我要怎么选择呢?

如果你只用来做OCR任务,希望获得更精简、专注的API体验,可以选择第一种;如果你未来计划进行其他AI任务(如图像分类、目标检测等),可以选择第二种,为后续扩展打下基础。

等等...等一下!怎么都是p什么ocr,我晕了,有什么区别啊?

正常的,小编第一次也以为只要简单地使用"pip install paddlex"和"pip install pdf2image",结果一直报错。结合网上资料和自己实操,我来整理一下遇到过报错和解决办法。

开始安装

Python版本要求:需要在 3.8 到 3.12 之间。

小编使用的是python3.9版本。如果不清楚自己的版本,可以在终端里输入:

python --version

显示已安装的版本。

1

安装过程中,可能会遇到pip版本太低的报错。

为了确保后面安装顺利,先把 Python 的包管理工具 pip 升级到最新版:

python -m pip install --upgrade pip

可以安装paddleocr,也可以安装PaddleX与OCR组件。但是无论是哪种,都要先安装PaddlePaddle,因为PaddleX是运行在PaddlePaddle深度学习框架之上的。

2

第二步:安装 PaddlePaddle 核心引擎,根据你的环境选择CPU版本或GPU版本。

对于GPU版本(需要先确保有CUDA环境)

小编是在本机环境安装的CPU版本,安装非常简单,用 pip 即可:

pip install paddlepaddle

3

装好 PaddlePaddle 后,根据自己的选择安装合适的工具包。

①安装paddleocr(专用工具包):

pip install paddleocr

PaddleX会作为依赖被一并安装,仅限于OCR (含文本检测、识别、版面分析等)。

②也可以安装PaddleX与OCR组件:

pip install paddlex[ocr]

这个命令会自动安装PaddleX的核心库和与OCR相关的核心组件 (即 paddlex[ocr-core])。

注意:pip install paddlex[ocr]命令不会安装paddleocr,它们是两个功能互补但独立的包。

4

因为PaddleX的Serving功能依赖于Paddle Serving,所以还需要装其他依赖。

安装Paddle Serving:

pip install paddle-serving-server

安装其他Serving组件,如paddle-serving-client和paddle-serving-app:

pip install paddle-serving-clientpip install paddle-serving-app

最后安装PaddleX:

pip install paddlex

注意:有时候版本不兼容会导致问题,需要考虑安装特定版本的Paddle Serving,可以尝试指定版本安装:

pip install paddleserving==指定版本#根据PaddleX 版本调整pip install paddle-serving-server==指定版本pip install paddle-serving-client==指定版本pip install paddle-serving-app==指定版本

测试一下

可以使用 PaddleX 提供的官方图片来测试,图片地址:

https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png

打开终端,输入以下命令:

paddlex --pipeline OCR --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png --device cpu

--pipeline OCR:使用OCR管道处理图片。

--input ...:输入测试图片地址。

--device cpu:指定使用 CPU 进行计算。

如果出现这样的结果就表明安装成功:

一些报错

遇到“unable to get page count. Is poppler installed and in PATH”错误时,表明系统缺少poppler或其未正确配置在环境变量PATH中。

因为pdf2image库依赖于poppler 工具来处理 PDF 文件,而系统中没有安装 poppler,或者 poppler 没有正确配置在系统的PATH 环境变量中,就会导致程序无法正常运行。

需要先安装 poppler,选择合适的版本安装并解压。

https://github.com/oschwartz10612/poppler-windows/releases/

打开系统环境变量设置,手动将 poppler 的 bin 目录添加到系统的 PATH 环境变量中。

D:\Programs\Python\Python39\Lib\site-packages\poppler-25.12.0\Library\bin

报错:

ValueError:numpy.dtype size changed, may indicate binary incompatibility. expected 96 from c header, got 88 from PyObject

这是一个典型的版本不兼容导致的问题。如果本机已有其他Python包,可能与PaddlePaddle产生依赖冲突(如opencv、numpy版本),升级或降级numpy以与其他依赖库兼容。

小编通过卸载并重新安装低版本的numpy解决了问题。

pip install numpy==1.24.4 --force-reinstall#强制重装

报错

RuntimeError: Engine 'paddle_static' is unavailable because dependency 'paddlepaddle' is not install

通常是因为 paddlepaddle 没有正确安装或版本不兼容,需要安装指定版本。

python -m pip install paddlepaddle==指定版本

报错

Error:(Unimplemented)ConvertPirAttribute2RuntimeAttribute not support [pir::ArrayAttributepir::DoubleAttribute](at..\paddle\fluid\framework\new_executor\instruction\onednn\onednn_instruction.cc:118)

和上面的报错类型差不多,是paddlepaddle版本不一致导致的报错。

小编是因为版本太高导致的报错,通过卸载并重新安装低版本的paddlepaddle解决了问题。

python -m pip uninstall paddlepaddlepip install --upgrade paddlex==2.1.0

报错

paddlex.utils.deps.DependencyError:The serving plugin is not available. Please install it properly.

缺少或未正确安装PaddleX的Serving插件,建议根据安装过程里的操作进行安装。

END

最新文章

随机文章