码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 百度飞桨PaddleOCR的简单使用


    PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力开发者训练出更好的模型,并应用落地。

    PaddleOCR是一个图像识别库,我只是用到了它的OCR功能,就是识别图片中的文字。其他的功能也很强大,我没用到。

    安装

    linux

    • pip install paddlepaddle
    • pip install shapely
    • pip install paddleocr

    windows

    • pip install paddlepaddle
    • 在这里手动下载shapely whl文件安装(安装命令是pip install xxx.whl,whl文件路径最好是绝对路径,或者cmd提前进入whl文件所在目录),不能直接pip install shapely,会有问题,具体下载哪个文件?cmd中执行pip debug --verbose,我是python 3.8,实际根据你的python版本选择。

    •  pip install paddleocr,装的时候可能报错ERROR: Failed building wheel for python_Levenshtein,同样在这里手动下载whl文件安装,然后再安装paddleocr

     

    使用 

    下面的代码,比官方示例代码多了一些内容,比如导包、关闭日志的打印、加快识别速度(加快前我这识别一张图需要3.1秒,加快后需要1.5秒,我没用GPU,具体耗时看机器性能)。

    PaddleOCR()的参数说明,在官方示例代码页最下面。

    1. from paddleocr import PaddleOCR, draw_ocr, paddleocr
    2. import logging
    3. # paddleocr.logging.disable(logging.DEBUG) # 关闭DEBUG日志的打印,用PaddleOCR(enable_mkldnn=True, use_tensorrt=True, use_angle_cls=False, lang="ch")时生效
    4. # 还有关闭日志打印的方法https://github.com/PaddlePaddle/PaddleOCR/issues/2467,未测试
    5. # paddleocr.logging.disable(logging.WARNING) # 关闭WARNING日志的打印
    6. # Paddleocr目前支持中英文、英文、法语、德语、韩语、日语,可以通过修改lang参数进行切换
    7. # 参数依次为`ch`, `en`, `french`, `german`, `korean`, `japan`。
    8. ocr = PaddleOCR(use_angle_cls=True, lang="ch")
    9. # ocr = PaddleOCR(enable_mkldnn=True, use_tensorrt=True, use_angle_cls=False, lang="ch") # enable_mkldnn是Intel芯片的加速库,识别一张身份证大约需1.5秒 from https://www.cnblogs.com/newmiracle/p/15358230.html和https://www.cnblogs.com/newmiracle/p/15346284.html和https://github.com/PaddlePaddle/PaddleOCR/issues/1500,官方文档对enable_mkldnn参数的介绍https://github.com/PaddlePaddle/PaddleOCR/blob/release%2F2.5/doc/doc_ch/FAQ.md#qpaddleocr%E4%B8%AD%E5%AF%B9%E4%BA%8E%E6%A8%A1%E5%9E%8B%E9%A2%84%E6%B5%8B%E5%8A%A0%E9%80%9Fcpu%E5%8A%A0%E9%80%9F%E7%9A%84%E9%80%94%E5%BE%84%E6%9C%89%E5%93%AA%E4%BA%9B%E5%9F%BA%E4%BA%8Etenorrt%E5%8A%A0%E9%80%9Fgpu%E5%AF%B9%E8%BE%93%E5%85%A5%E6%9C%89%E4%BB%80%E4%B9%88%E8%A6%81%E6%B1%82
    10. # 输入待识别图片路径
    11. img_path = r"d:\Desktop\4A34A16F-6B12-4ffc-88C6-FC86E4DF6912.png"
    12. # 输出结果保存路径
    13. result = ocr.ocr(img_path, cls=True)
    14. for line in result:
    15. print(line)
    16. from PIL import Image
    17. image = Image.open(img_path).convert('RGB')
    18. boxes = [line[0] for line in result]
    19. txts = [line[1][0] for line in result]
    20. scores = [line[1][1] for line in result]
    21. im_show = draw_ocr(image, boxes, txts, scores)
    22. im_show = Image.fromarray(im_show)
    23. im_show.show()

    效果图就看参考链接吧(官方示例代码中也有效果图),我也是看他们的步骤学的,只不过在windows中安装时遇到了问题,记录一下。

    如果加速后你还嫌识别速度慢,可以直接买百度或阿里云或腾讯云的识别接口,或者买带GPU的服务器。如果你有其他免费提速的方法请告诉我,谢谢。

    参考链接

    适合小白的几个入门级Python ocr识别库_起不好名字就不起了的博客-CSDN博客_ocr库

    百度OCR(文字识别)服务使用入坑指南_起不好名字就不起了的博客-CSDN博客_百度ocr试用

    python,使用(pip install .) Failed building wheel for python_Levenshtein解决方法_A吴广智的博客-CSDN博客

    Python 语法问题-module ‘pip._internal‘ has no attribute ‘pep425tags‘. 原因及解决办法,32位、64位查看pip支持万能方法_挣扎的蓝藻的博客-CSDN博客_pip._internal

    python paddleocr 增加识别速度的方法 - newmiracle宇宙 - 博客园 (cnblogs.com) 

    paddleocr提高识别的方法 - newmiracle宇宙 - 博客园 (cnblogs.com)

    如果你有其他问题,也可以看官方FAQ 

  • 相关阅读:
    Spark 之 deploy
    使用ssh克隆GitHub仓库以及替换https方式
    设计模式:单例模式
    MySQL 备份和恢复
    NC14700 追债之旅 (拆点+最短路)
    服务于金融新核心系统 星辰天合与中电金信完成产品兼容认证
    常见弱口令汇编
    十三、CANdelaStudio入门-DTC编辑
    BevFusion (2): nuScenes 数据介绍及点云可视化
    LabelImg使用笔记
  • 原文地址:https://blog.csdn.net/fj_changing/article/details/126243370
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号