PaddleOCR简介
OCR:光学字符识别 (Optical character recognition)
PaddleOCR是百度开发的一款用于文字识别的工具,GitHub地址
PaddleOCR安装
1.环境准备
Anaconda3
python:3.8.13
2.安装CUDA10
官方要求是9或者10,本次实验使用10.2版本。CUDA Toolkit 10.2
3.下载cudnn
PaddleOCR官方并没有提示让下载cudnn,但如果没有下载,最后会有如下错误
cudnn下载需要注册英伟达开发者,cudnn需要和cuda版本匹配,本次用的是7.6.5.32,下载地址
下载后解压,将bin,include,lib里的文件复制到对应的CUDA安装目录(默认C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2)对应的文件夹下,参考链接,参考里面需要配置环境变量,我没有配也可以
4.安装paddlepaddle-gpu
conda activate paddleenv
# GPU版本,本次安装了CUDA,因此安装了GPU版本
pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple
# CPU版本
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
5.安装paddleocr
pip install "paddleocr>=2.0.1"
安装的过程中,会报错,Microsoft Visual C++ 14.0 or greater is required
需要安装VC++,首先下载visula-cpp-build-tools,下载地址visual-cpp-build-tools,安装的时候只需要选择第一个就可以了
6.测试
官方有给出测试图片,可以下载下来放到项目imgs目录下,下载地址
from paddleocr import PaddleOCR, draw_ocr, paddleocr
# 关闭DEBUG日志的打印
import logging
paddleocr.logging.disable(logging.DEBUG)
# Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
# 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`
ocr = PaddleOCR(use_angle_cls=True, lang="ch") # need to run only once to download and load model into memory
img_path = './imgs/11.jpg'
result = ocr.ocr(img_path, cls=True)
for line in result:
print(line)
# 显示结果
from PIL import Image
image = Image.open(img_path).convert('RGB')
boxes = [line[0] for line in result]
txts = [line[1][0] for line in result]
scores = [line[1][1] for line in result]
im_show = draw_ocr(image, boxes, txts, scores, font_path='./fonts/simfang.ttf')
im_show = Image.fromarray(im_show)
im_show.save('result.jpg')
关闭DEBUGE输出参考:百度飞桨PaddleOCR的简单使用