PaddleOCR环境安装,遇到了很多问题,根据系统不同问题也不同,不要盲目看别人的教程,有的教程也过时了,根据实际情况自己调整。

我这边目前是使用windows 10系统+CPU + python 3.7 搭建。

熟悉OCR的人应该知道,最好用GPU,性能差距不是一点点,但是普通人没有那个条件怎么办,只能退而求其次,好在自己学习使用也不需要那么好性能。

PaddleOcr环境安装步骤:

第一步:先安装 C++ 开发环境

我在搭建过程中遇到的最大的问题就是,本机电脑没有Microsoft Visual  c++开发环境,毕竟不是从事c++开发的很容易忽略这个问题,后来找了很多技术文章才确定这个大问题。

Visual Studio下载
首先从微软官网( https://visualstudio.microsoft.com/zh-hans/downloads/ )下载 Visual Studio 的安装程序,如下图所示:

选择社区版,免费,如果是企业用户还是另选版本。

 主要安装过程,主要选择c++应用就行,其他不是本次重点

 主要安装过程,主要选择c++的桌面开发就行,其他不是本次重点

这步完成后,后面相对就容易多了。

第二步:按照PaddleOCR官网安装步骤操作就行

进入百度飞浆官网安装地址:

https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/windows-pip.html

1,选择版本,系统,安装方式和计算机平台。

2,执行安装CPU版本的paddlepaddle命令

python -m pip install paddlepaddle==2.4.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

注意事项:

pip安装过程中会自动下载相关依赖库,其中就有2个依赖库(lanms-neo和polygon3)跟上面第一步的c++开发环境相关,如果没有安装c++环境的话,一直安装报错。

3,验证安装

安装完成后您可以使用 python 进入 python 解释器,输入 import paddle ,再输入 paddle.utils.run_check()

如果出现PaddlePaddle is installed successfully!,说明您已成功安装。运行检测,还能检测到电脑有几个cpu。

也可以参考gitee上的安装教程:

gitee 源码地址 :

https://gitee.com/paddlepaddle/PaddleOCR

https://gitee.com/paddlepaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/quickstart.md

4,python脚本使用OCR识别图片

测试图片:1.png

paddleocr_test.py :

from paddleocr import PaddleOCR
'''
测试ocr方法
'''
def test_ocr():
# paddleocr 目前支持的多语言语种可以通过修改lang参数进行切换
# 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`
# 使用CPU预加载,不用GPU
ocr = PaddleOCR(use_angle_cls=True, lang="ch", use_gpu=False)
# 打开图片文件
result = ocr.ocr("1.png", cls=True)
# 打印所有结果信息
print(result)
for index in range(len(result)):
rst = result[index]
for line in rst:
points = line[0]
text = line[1][0]
score = line[1][1]
print('points : ', points)
print('text : ', text)
print('score : ', score) if __name__ == "__main__":
test_ocr()

第一次运行识别程序,会自动下载3个 中英文超轻量PP-OCRv3 模型(检测模型,方向分类器,识别模型)。

也可以自己主动下载想要的模型。gitee上。

也可以取百度飞浆官网下载各种预训练好的模型,拿来就能用。

官网地址: https://aistudio.baidu.com/aistudio/modelsoverview?lang=zh_CN

通过python脚本测试使用PaddleOCR可以正常运行,只是识别率没有那么高,这就需要后面自己慢慢训练新的模型了,不断优化识别模型。

或者选择官网预训练好的模型,简单省事。

第三步:下载PaddleOCR源码

github开源地址: https://github.com/PaddlePaddle/PaddleOCR.git

gitee开源地址:  https://gitee.com/paddlepaddle/PaddleOCR

下载PaddleOCR源码到本地,而不只是简单安装PaddleOCR库,直接调用他的方法等,目的是学习和研究的话,看源码还是很有用的。

源码目录结构如下:

其中,pip安装 paddlepaddle 过程中下载的相关依赖库就在 requirements.txt 文件里。

------------------------------到此,安装PaddleOCR基本完成------------------------------

搭建自己的OCR服务,第二步:PaddleOCR环境安装的更多相关文章

  1. 使用ruby搭建简易的http服务和sass环境

    使用ruby搭建简易的http服务和sass环境 由于在通常的前端开发情况下,我们会有可能需要一个http服务,当然你可以选择自己写一个node的http服务,也比较简单,比如下面的node代码: v ...

  2. Linux学习第二步(Java环境安装)

    jdk版本:jdk-8u131-linux-x64.rpm 注:以下操作在root用户或具有root权限的用户下操作 一.将 dk-8u131-linux-x64.rpm拷贝到/home目录下 cp ...

  3. Linux搭建SVN服务器(服务端)

    Linux搭建SVN服务器(服务端) 1 安装SVN SVN客户端:TortoiseSVN,官网下载:https://tortoisesvn.net/downloads.html(客户端) # yum ...

  4. 三、安装cmake,安装resin ,tars服务,mysql 安装介绍,安装jdk,安装maven,c++ 开发环境安装

    三.安装cmake,安装resin 2018年07月01日 21:32:05 youz1976 阅读数:308   开发环境说明: centos7.2 ,最低配置:1核cpu,2G内存,1M带宽 1. ...

  5. 庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境

    庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境 一.介绍 说起微服务架构来,有一个环节是少不了的,那就是CI/CD持续集成的环境.当然,搭建CI/CD环境的工具很多, ...

  6. 在Windows环境中使用Nginx, Consul, Consul Template搭建负载均衡和服务发现服务

    搭建负载均衡和服务发现服务的目的 随着网站业务的不断提升,单个服务器的性能越来越难满足客户的业务需求,所以很多情况下,需要使用多服务器实例和负载均衡器来满足业务需要. Nginx 什么是Nginx N ...

  7. 使用 SpringBoot+Dubbo 搭建一个简单分布式服务

    实战之前,先来看几个重要的概念 开始实战之前,我们先来简单的了解一下这样几个概念:Dubbo.RPC.分布式.由于本文的目的是带大家使用SpringBoot+Dubbo 搭建一个简单的分布式服务,所以 ...

  8. 用Python搭建简单的HTTP服务 · Zhangxu's Blog

    分享一个快速用Python搭建简单的HTTP服务的方法. 平时我们可能有需要,传输某个文件到手机,或者工作中某台服务器的电脑. 假如这个手机是个测试手机/服务器,并没有微信QQ之类的软件,而且你也不想 ...

  9. 服务器搭建(CenOS 7 Apache + PHP _Mysql环境(LAMP))

    服务器搭建(CenOS 7 Apache + PHP _Mysql环境(LAMP)) 第一步.更换阿里云 yum源 curl -o /etc/yum.repos.d/CentOS-Base.repo  ...

  10. 让你少走弯路的搭建树莓派的Net与NodeJS运行环境

      树莓派是当前最火的嵌入计算平台没有之一,树莓派可以给我们无数的想象,树莓派的高性能.低功耗.低成本.可扩展性(最新的树莓派原生支持WIFI和蓝牙,这功能太赞了)深受大家的喜爱.虽然树莓派到目前为止 ...

随机推荐

  1. Qt编写地图综合应用53-省市轮廓图下载

    一.前言 Qt的浏览器控件的交互机制非常方便,所以在在线地图的时候可以对每个区域的经纬度坐标集合发给Qt程序,让他去存储到文件,在实际的测试过程中,发现有部分地图有多个封闭的曲线的,比如散落的岛屿和飞 ...

  2. [转]C# PowerPoint操作的基本用法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using OFFICECO ...

  3. IM跨平台技术学习(二):Electron初体验(快速开始、跨进程通信、打包、踩坑等)

    本文由蘑菇街前端技术团队分享,原题"Electron 从零到一",有修订和改动. 1.引言 在上篇<快速了解新一代跨平台桌面技术--Electron>,我们已经对Ele ...

  4. JMeter 线程组全家桶教程

    宝子们,今天咱就来唠唠 JMeter 里那些超重要的线程相关的玩意儿,学会了它们,你就能在性能测试的世界里 "横冲直撞" 啦! 一.线程组 -- 性能测试的主力军 想象一下,你开了 ...

  5. Circos软件学习

    circos 是一款perl 语言开发的画图软件,提供了染色体相关数据的一种可视化方式.其制作的图表精美,被科研工作者广泛使用.Circos可以对染色体相关数据进行可视化,以每条染色体为一个扇区,组成 ...

  6. CDS标准视图:有技术对象的维修工单 I_MAINTORDERTECHOBJCUBE

    视图名称:有技术对象的维修工单 I_MAINTORDERTECHOBJCUBE 视图类型:基础 视图代码: 点击查看代码 @EndUserText.label: 'Maintenance Order ...

  7. 第五章 dubbo源码解析目录

    第十章 dubbo线程模型 一 netty的线程模型 在netty中存在两种线程:boss线程和worker线程. 1 boss线程 作用: accept客户端的连接: 将接收到的连接注册到一个wor ...

  8. DynamoDB-键值存储

    什么是DynamoDB? DynamoDB 是一个你什么也不用管的 NoSql 数据库.记得给 AWS付账单就可以. 在2004年的时候, Amazon 发现 Oracle 数据库都不够用了.为了还能 ...

  9. w3cschool-Lua 教程

    https://www.w3cschool.cn/lua/ Lua 学习笔记之一(初阶话题) 1.八种基本类型: 如下表 基本类型 描述 备注 数值(number) 内部以double表示 字符串(s ...

  10. java中的ArrayBlockingQueue

    ArrayBlockingQueue ArrayBlockingQueue 是 Java 并发包 (java.util.concurrent) 中的一个线程安全的阻塞队列实现. 它基于数组实现,容量固 ...