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

PaddleOCR百度开源—文字识别OCR windows端口部署使用,第1张

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

目录

导言

下载源码

配置环境        

安装依赖库

报错处理办法

下载模型

配置模型 

文本效果

文字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 PaddleOCR
import cv2
import numpy as np
from PIL import Image, ImageDraw, ImageFont
from paddleocr import PaddleOCR, draw_ocr
font=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 memory


img_path = r'E:png1643776550(1).jpg'
result = ocr.ocr(img_path, cls=True)
# 显示结果
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='./simfang.ttf')
im_show = Image.fromarray(im_show)

im_show.save('result.png')
print(txts)
 文字OCR识别结果:

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5721349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存