PaddleOCR使用笔记-paddleocr package使用说明

这篇博客详细介绍了如何在Linux环境下使用PaddleOCR进行文字检测、分类和识别。内容包括通过pip安装whl包,使用PaddleOCR的代码示例,以及自定义模型的配置。示例代码涵盖了完整流程、单独执行各个任务,并展示了结果的可视化。此外,还提到了在命令行下的使用方法和自定义模型的加载。
摘要由CSDN通过智能技术生成

PaddleOCR使用笔记

Linux环境下

paddleocr package使用说明

Windows下使用
安装whl包

pip安装

pip install "paddleocr>=2.0.1" # 推荐使用2.0.1+版本

在这里插入图片描述
在这里插入图片描述

代码使用
  • 检测+分类+识别全流程
from paddleocr import PaddleOCR
from tools.infer.utility import draw_ocr
# Paddleocr目前支持中英文、英文、法语、德语、韩语、日语,可以通过修改lang参数进行切换
# 参数依次为`ch`, `en`, `french`, `german`, `korean`, `japan`。
ocr = PaddleOCR(use_angle_cls=True, use_gpu=False, lang="ch") # need to run only once to download and load model into memory
img_path = './doc/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='/path/to/PaddleOCR/doc/simfang.ttf')
im_show = Image.fromarray(im_show)
im_show.save('./results/det_cls_rec_result.jpg')

在这里插入图片描述

  • 检测+识别
from paddleocr import PaddleOCR
from tools.infer.utility import draw_ocr
ocr = PaddleOCR(use_gpu=False) # need to run only once to download and load model into memory
img_path = './doc/imgs/11.jpg'
result = ocr.ocr(img_path)
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='/path/to/PaddleOCR/doc/simfang.ttf')
im_show = Image.fromarray(im_show)
im_show.save('./results/det_rec_result.jpg')

在这里插入图片描述

  • 分类+识别
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_gpu=False, use_angle_cls=True) # need to run only once to download and load model into memory
img_path = './doc/imgs_words/ch/word_1.jpg'
result = ocr.ocr(img_path, det=False, cls=True)
for line in result:
    print(line)

结果是一个list,每个item只包含识别结果和识别置信度

('韩国小馆', 0.9972204)
  • 单独执行检测
from paddleocr import PaddleOCR
from tools.infer.utility import draw_ocr
ocr = PaddleOCR(use_gpu=False) # need to run only once to download and load model into memory
img_path = './doc/imgs/11.jpg'
result = ocr.ocr(img_path, rec=False)
for line in result:
    print(line)

# 显示结果
from PIL import Image

image = Image.open(img_path).convert('RGB')
im_show = draw_ocr(image, result, txts=None, scores=None, font_path='/path/to/PaddleOCR/doc/simfang.ttf')
im_show = Image.fromarray(im_show)
im_show.save('./results/det_result.jpg')

在这里插入图片描述

  • 单独执行识别
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_gpu=False) # need to run only once to download and load model into memory
img_path = './doc/imgs_words/ch/word_1.jpg'
result = ocr.ocr(img_path, det=False)
for line in result:
    print(line)

结果是一个list,每个item只包含识别结果和识别置信度

('韩国小馆', 0.9972204)
  • 单独执行分类
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_gpu=False, use_angle_cls=True) # need to run only once to download and load model into memory
img_path = './doc/imgs_words/ch/word_1.jpg'
result = ocr.ocr(img_path, det=False, rec=False, cls=True)
for line in result:
    print(line)

结果是一个list,每个item只包含分类结果和分类置信度

['0', 0.9998784]
自定义模型
from paddleocr import PaddleOCR
from tools.infer.utility import draw_ocr
# The path of detection and recognition model must contain model and params files
ocr = PaddleOCR(use_gpu=False, det_model_dir='./inference/ch_det_mv3_db/', rec_model_dir='./inference/rec_en_number_lite/', rec_char_dict_path='./ppocr/utils/dict/en_dict.txt')
img_path = './doc/imgs_10_BZ_test/20160517_100146_H4H2930367BZ_Z.jpg'
result = ocr.ocr(img_path, cls=True)
for line in result:
    print(line)

# draw result
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='/path/to/PaddleOCR/doc/simfang.ttf')
im_show = Image.fromarray(im_show)
im_show.save('./results/custom_result.jpg')

在这里插入图片描述

Linux下命令行使用
安装whl包
pip3 install "paddleocr>=2.0.1" -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

在这里插入图片描述

  • 查看帮助信息
paddleocr -h

在这里插入图片描述
在这里插入图片描述

使用自定义模型
  • ~~要换一个目录,~~还要用pip3.8
pip3.8 install "paddleocr>=2.0.1"

在这里插入图片描述

在这里插入图片描述

  • 不用换目录,但要改paddleocr.py的代码:
- SUPPORT_DET_MODEL = ['DB']
+ SUPPORT_DET_MODEL = ['DB', 'EAST']
  • 使用自定义模型
from paddleocr import PaddleOCR
from tools.infer.utility import draw_ocr
# The path of detection and recognition model must contain model and params files
ocr = PaddleOCR(det_model_dir='./inference/det_mv3_east/', rec_model_dir='./inference/rec_en_number_lite_crown/', use_space_char=False, rec_char_type='EN', det_algorithm='EAST', rec_char_dict_path='ppocr/utils/dict/en_dict.txt')
img_path = './doc/imgs_crown_test/20160517_101050_A8Y0930108BZ_Z.jpg'
result = ocr.ocr(img_path)
for line in result:
    print(line)

# draw result
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='./doc/fonts/simfang.ttf')
im_show = Image.fromarray(im_show)
im_show.save('./results/det_rec_20160517_101050_A8Y0930108BZ_Z.jpg')

在这里插入图片描述

创作不易,喜欢的话加个关注点个赞,❤谢谢谢谢❤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值