欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

PaddleOCR百度开源—文字识别OCRwindows端口部署使用

时间:2023-08-19

目录

导言

下载源码

配置环境        

安装依赖库

报错处理办法

下载模型

配置模型 

文本效果

文字OCR识别结果:​


什么是Paddle OCR?

Paddle OCR特性:

超轻量级中文OCR,总模型仅8.6M

单模型支持中英文数字组合识别、竖排文本识别、长文本识别检测模型DB(4.1M)+识别模型CRNN(4.5M)多种文本检测训练算法,EAST、DB多种文本识别训练算法,Rosetta、CRNN、STAR-Net、RARE

本教程旨在帮助使用者快速了解PaddleOCR,并掌握PaddleOCR的使用方式,包括:

PaddleOCR快速使用 文本检测模型的训练方式 文件识别模型的训练方式

以上摘抄至: PaddleOCR使用教程 - 飞桨AI Studio - 人工智能学习与实训社区

导言

上文是官方的教程和介绍,但是属于部署在Linux端口上的,所以就希望每个喜欢代码的小伙伴也能简单易上手,所以出了个在window端的部署,使用的版本如下:

        Window 10 系统

        python 3.8 

        Pycharm

下载源码

首先下载源码: PaddleOCR: 基于飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别。同时支持多种文本检测、文本识别的训练算法。https://gitee.com/paddlepaddle/PaddleOCR

配置环境        

        安装依赖库

        在下载的文件夹下运行cmd命令:

pip install -r requirments.txt -i https://mirror.baidu.com/pypi/simple

报错处理办法: 

这里有个很奇怪的报错问题,官方教程里命令行的安装,出现了找不到文件的提示:

[Errno 2] No such file or directory: 'requirments.txt'

后来我才发现原来下载的代码和官方教程出现的偏差

 

 这个地方少了个E,所以各位小伙伴运行报错找不到文件可以查看一下文件名是否正确

 pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple

运行前需要确认pip的版本是否满足要求,要求pip版本为9.0.1+。可通过事先升级pip,运行如下命令:

pip install --upgrade pip

下载模型


文本检测模型https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tar

配置模型 

将以下三个文件放置到 PaddleOCR-release-2.3 inference det 文件夹下(手动创建)

 

 执行以下代码

(作者图片文件路径:E: png2.jpg)

python tools/infer/predict_det.py --image_dir="E:png2.jpg" --det_model_dir="./inference/det/" --use_gpu=False

文本效果:

执行成功会有个新的文件夹  inference_results 

 

 文档识别效果(还不错,大部分都识别出来了)

到这一步就都差不多了,可以开始识别文字了,在文件夹PaddleOCR下新建py文件

文字OCR识别

from paddleocr import PaddleOCRimport cv2import numpy as npfrom PIL import Image, ImageDraw, ImageFontfrom paddleocr import PaddleOCR, draw_ocrfont=cv2.FONT_HERSHEY_SIMPLEX# Paddleocr目前支持中英文、英文、法语、德语、韩语、日语,可以通过修改lang参数进行切换# 参数依次为`ch`, `en`, `french`, `german`, `korean`, `japan`。ocr = PaddleOCR(use_angle_cls=True, lang="ch",use_gpu=False, rec_model_dir='./models/ch_ppocr_server_v2.0_rec_infer/', cls_model_dir='./models/ch_ppocr_mobile_v2.0_cls_infer/', det_model_dir='./models/ch_ppocr_server_v2.0_det_infer/') # need to run only once to download and load model into memoryimg_path = r'E:png1643776550(1).jpg'result = ocr.ocr(img_path, cls=True)# 显示结果from PIL import Imageimage = 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='./simfang.ttf')im_show = Image.fromarray(im_show)im_show.save('result.png')print(txts)

 文字OCR识别结果:

(这一步会自己下载文件,有个进度条稍微等待一下就行了)

左边的是文字,后面的小数点是文字的置信区间

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。