Paddle笔记:PaddleOCR文字识别,简单实用,默认训练模型识别度不错

这篇具有很好参考价值的文章主要介绍了Paddle笔记:PaddleOCR文字识别,简单实用,默认训练模型识别度不错。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

use_angle_cls,《Python从入门到精通》,深度学习,人工智能

导读

        PaddleOCR是百度深度学习框架PaddlePaddle开源的OCR项目,旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,并应用落地。PaddleOCR包含丰富的文本检测、文本识别以及端到端算法。

        你可能用到的网址:

  • Paddle官网:飞桨PaddlePaddle-源于产业实践的开源深度学习平台

正文

        PaddleOCR特性:

  • 超轻量级中文OCR模型,总模型仅8.6M
  • 单模型支持中英文数字组合识别、竖排文本识别、长文本识别
  • 检测模型DB(4.1M)+识别模型CRNN(4.5M)
  • 实用通用中文OCR模型
  • 多种预测推理部署方案,包括服务部署和端侧部署
  • 多种文本检测训练算法,EAST、DB、SAST
  • 多种文本识别训练算法,Rosetta、CRNN、STAR-Net、RARE、SRN
  • 可运行于Linux、Windows、MacOS等多种系统

一、前期准备

1. 依赖库安装

        我用的是在 Pycharm 内自动安装,版本默认了当前最高,方便高效。

  • PaddlePaddle:基础环境,PaddleOCR需在PaddlePaddle下才可以正常运行;
  • PaddleOCR:图片识别的插件;

use_angle_cls,《Python从入门到精通》,深度学习,人工智能

 2. 训练模型下载

        PaddleOCR提供的可下载模型包括推理模型、训练模型、预训练模型、slim模型,下载地址如下(官网入口):

use_angle_cls,《Python从入门到精通》,深度学习,人工智能

        我使用的是【PP-OCRv3】模型,下载到本地之后分别进行解压,创建一个models文件夹,把下载好的模型文件解压到该models文件夹中,并将models文件夹放入到PaddleOCR根目录下,如下所示:

use_angle_cls,《Python从入门到精通》,深度学习,人工智能

3. 文字模板下载

        文字模板不是必须的,在 draw_ocr() 方法中使用文字模板是为了提高图片的文字识别率。

        因为是识别网络字体,所以我使用的是【SIMSUN.TTC】文字模板。SIMSUN.TTC 是一款很常见、实用的电脑字体,需要的小伙伴,百度【SIMSUN.TTC】就可以找到下载链接。


二、项目实践

        读取图片需要用到 OpenCV 的技术,然后利用 PaddleOCR 进行图片的文字识别,识别过程中可以自定义训练模型和文字模板,这会影响最终文字的识别率。

1. 图片准备

        就用篇头展示的图片吧,这是京东商城某商品的介绍图。

2. 代码展示

# _*_coding:utf-8_*_
# 作者:   Java Punk
# 时间:   2022-10-09 14:49:45
# 功能:   图片文字识别

import cv2
from math import *
import numpy as np
from PIL import Image
from paddleocr import PaddleOCR, draw_ocr

def img_match(img_address):
    # Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
    # 例如:`ch`, `en`, `fr`, `german`, `korean`, `japan`
    # 这里 use_angle_cls=False 为不使用自定义训练集
    ocr = PaddleOCR(use_angle_cls=False, lang="ch", use_gpu=False)
    # use_angle_cls=True使用训练模型,模型放在models目录下
    # ocr = PaddleOCR(use_angle_cls=True,lang="ch",
    #                 rec_model_dir='../models/ch_PP-OCRv3_rec_slim_infer/',
    #                 cls_model_dir='../models/ch_ppocr_mobile_v2.0_cls_slim_infer/',
    #                 det_model_dir='../models/ch_PP-OCRv3_det_slim_infer/')
    src_img = cv2.imread(img_address)
    h, w = src_img.shape[:2]
    big = int(sqrt(h * h + w * w))
    big_img = np.empty((big, big, src_img.ndim), np.uint8)
    yoff = round((big - h) / 2)
    xoff = round((big - w) / 2)
    big_img[yoff:yoff + h, xoff:xoff + w] = src_img
    # 文字识别
    matRotate = cv2.getRotationMatrix2D((big * 0.5, big * 0.5), 0, 1)
    dst = cv2.warpAffine(big_img, matRotate, (big, big))
    result = ocr.ocr(dst, cls=True)
    boxes = [line[0] for line in result]
    txts = [line[1][0] for line in result]
    scores = [line[1][1] for line in result]
    # simsun.ttc 是一款很常见、实用的电脑字体,这里作为识别的模板
    # 我们利用该模板进行文字识别
    im_show = draw_ocr(dst, boxes, txts, scores, font_path='../fonts/SIMSUN.TTC')
    im_show = Image.fromarray(im_show)
    img = np.asarray(im_show)
    # 展示结果
    cv2.imshow('img', img)
    cv2.waitKey(0)
    # 图片识别结果保存在代码同目录下
    # im_show.save('result.jpg')
    # 关闭页面
    cv2.destroyAllWindows()
    pass

if __name__ == '__main__':
    print("———————————————————— start ————————————————————\n")
    # 图片路径自己设置,下面是我本地的路径,记得替换!!!
    img_match('../img/jd/goods_02.png')
    print("———————————————————— end ————————————————————\n")

3. 效果展示

        最终识别率还不错。

use_angle_cls,《Python从入门到精通》,深度学习,人工智能

        大家可以自行练习不使用 lang="ch",训练模型和文字模板,或者只使用其中的几个看看效果怎样。

        结论可以先告诉大家:文字的识别率会有不一样,当识别率低的时候,个别文字会被识别错误。文章来源地址https://www.toymoban.com/news/detail-576408.html


到了这里,关于Paddle笔记:PaddleOCR文字识别,简单实用,默认训练模型识别度不错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于百度飞桨PaddleOCR的图片文字识别

    PaddleOCR项目源码:https://github.com/PaddlePaddle/PaddleOCR 飞桨开源文字识别模型套件PaddleOCR,目标是打造丰富、领先、实用的文本识别模型/工具库。最新开源的超轻量PP-OCRv3模型大小仅为16.2M。同时支持中英文识别;支持倾斜、竖排等多种方向文字识别;支持GPU、CPU预测;用户既可

    2024年02月10日
    浏览(35)
  • 9步搭建Windows下PaddleOCR图片文字识别WebAPI

    目录 本文实现在windows平台下依靠现有资源来搭建一个图片文字识别的WebAPI,便于其他项目通过Post方式将图片进行Base64编码后传到该API,能够得到图片中的文字信息 第一步:安装Python环境 第二步:安装 opencv-python 第三步:安装 paddleocr 第四步:安装 paddlepaddle   第五步:安

    2024年03月16日
    浏览(50)
  • python+paddleocr 进行图像识别、找到文字在屏幕中的位置

    目录 前言 1、安装paddleocr 2、安装PIL 3、安装numpy 4、 安装pyautogui 5、进行文本识别 6、识别结果 7、获取文字在图片/屏幕中的位置 8、pyautogui+paddleocr鼠标操作 9、完整代码 最近在做自动化测试,因为是处理过的界面,所以使用pywinauto,LDTP获取控件进行操作的方法不可行,于是选

    2024年02月03日
    浏览(35)
  • 百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 Paddle Inference 模型推理

    百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 预测部署简介与总览 百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 Paddle Inference 模型推理(离线部署) 百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS) 百度飞桨(PaddlePaddle) - PP

    2024年02月05日
    浏览(82)
  • PaddleOCR学习笔记2-初步识别服务

    今天初步实现了网页,上传图片,识别显示结果到页面的服务。后续再完善。 采用flask + paddleocr+ bootstrap快速搭建OCR识别服务。 代码结构如下: 模板页面代码文件如下: upload.html : result.html :  主要视图代码文件如下: 启动flask应用,测试结果如下:

    2024年02月09日
    浏览(26)
  • 百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - Docker)

    目录 安装 Docker 安装 PaddleOCR 安装 准备PaddleServing的运行环境, 模型转换 Paddle Serving pipeline部署 重启 测试 百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 预测部署简介与总览 百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 Paddle Inference 模型推理(离线部署) 百度飞桨(Paddl

    2024年02月07日
    浏览(37)
  • [paddle]paddlehub部署paddleocr的hubserving服务

    步骤如下: 第一步:首先需要安装好paddleocr环境已经paddlehub环境 第二步:下载paddleocr源码: git clone https://github.com/PaddlePaddle/PaddleOCR.git 然后切换到paddocr目录执行 新建个文件夹叫Inference把paddleocr模型放进去 安装文字识别服务: hub install deployhubservingocr_rec 安装文字检测服务

    2024年01月16日
    浏览(34)
  • 百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)

    目录 Paddle Serving服务化部署实战 准备预测数据和部署环境 环境准备 安装 PaddlePaddle 2.0 安装 PaddleOCR 准备PaddleServing的运行环境, 模型转换 Paddle Serving pipeline部署 确认工作目录下文件结构: 启动服务可运行如下命令: 测试 Python发送服务请求: Postman 发送请求 参数调整 百度飞

    2024年02月07日
    浏览(46)
  • 苹果手机如何将音频转文字?这两个简单的方法实用又高效

    苹果手机如何将音频转文字?这两个简单的方法实用又高效 在平时的工作中,想必大家都会使用一些录音工具来将会议的内容进行录制,事后再根据录音来整理会议的纪要,但如果一边听一边整理的话,有时可能会因为演讲者的语速过快而导致遗漏了一些内容。 其实这个时

    2024年02月05日
    浏览(32)
  • 100天精通Python(实用脚本篇)——第113天:基于Tesseract-OCR实现OCR图片文字识别实战

    🔥🔥 本文已收录于 《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html 优点 : 订阅限时9.9付费专

    2024年01月22日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包