有没有好用的Python版PaddlePaddle OCR使用示例?
1 环境搭建步骤
- 先确认Python版本处于3.7~3.10区间,该区间版本对PaddleOCR的兼容性最优
- 安装PaddlePaddle基础库:
如果你使用CPU运行,直接执行命令:pip install paddlepaddle==2.4.2
如果你有NVIDIA显卡需要用GPU加速,先确认本地CUDA、cuDNN版本符合要求,再安装对应版本的paddlepaddle-gpu即可
如果安装过程中下载速度慢,可以在命令末尾追加国内PyPI镜像源参数提升下载速度 - 安装PaddleOCR工具包:
pip install paddleocr==2.6.1.3
2 功能验证示例代码
以下代码可以直接运行,首次执行会自动下载对应的预训练模型,等待模型下载完成后即可返回识别结果:
from paddleocr import PaddleOCR, draw_ocr from PIL import Image # 初始化OCR实例 # use_angle_cls=True表示开启方向分类,可识别倾斜180度的图片 # lang参数设置为ch表示使用中英文混合模型,可识别中文、英文、数字 # 如果你安装了GPU版本的PaddlePaddle,可将use_gpu设置为True提升识别速度 ocr = PaddleOCR(use_angle_cls=True, lang="ch", use_gpu=False) # 替换为你本地需要测试的图片路径 test_img_path = "./test_ocr.jpg" # 执行OCR识别 ocr_result = ocr.ocr(test_img_path, cls=True) # 打印识别结果 for page in ocr_result: for line in page: text, confidence = line[1] print(f"识别内容:{text},置信度:{confidence:.4f}") # 可选:将识别结果绘制到原图上保存,方便核对 if ocr_result: page_result = ocr_result[0] img = Image.open(test_img_path).convert('RGB') # 提取识别到的文本框、文本内容、置信度 boxes = [line[0] for line in page_result] texts = [line[1][0] for line in page_result] scores = [line[1][1] for line in page_result] # 绘制结果,font_path替换为你本地可用的中文字体路径,避免中文乱码 drawed_img = draw_ocr(img, boxes, texts, scores, font_path="./simfang.ttf") Image.fromarray(drawed_img).save("./ocr_result.jpg")
3 常见问题处理
- 运行时报依赖缺失错误,可根据报错提示安装对应依赖即可,常见的缺失依赖为opencv-python、pillow,可提前执行
pip install opencv-python pillow安装 - 绘制结果时中文显示乱码,检查font_path参数是否指向了有效的中文字体文件
- 首次运行模型下载速度慢,可手动将预训练模型文件放到PaddleOCR默认的模型存储目录,无需修改代码即可生效
内容的提问来源于stack exchange,提问作者richie
相关产品推荐
相关产品推荐

