搭建自己的OCR服务,第二步:PaddleOCR环境安装
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环境安装的更多相关文章
- 使用ruby搭建简易的http服务和sass环境
使用ruby搭建简易的http服务和sass环境 由于在通常的前端开发情况下,我们会有可能需要一个http服务,当然你可以选择自己写一个node的http服务,也比较简单,比如下面的node代码: v ...
- Linux学习第二步(Java环境安装)
jdk版本:jdk-8u131-linux-x64.rpm 注:以下操作在root用户或具有root权限的用户下操作 一.将 dk-8u131-linux-x64.rpm拷贝到/home目录下 cp ...
- Linux搭建SVN服务器(服务端)
Linux搭建SVN服务器(服务端) 1 安装SVN SVN客户端:TortoiseSVN,官网下载:https://tortoisesvn.net/downloads.html(客户端) # yum ...
- 三、安装cmake,安装resin ,tars服务,mysql 安装介绍,安装jdk,安装maven,c++ 开发环境安装
三.安装cmake,安装resin 2018年07月01日 21:32:05 youz1976 阅读数:308 开发环境说明: centos7.2 ,最低配置:1核cpu,2G内存,1M带宽 1. ...
- 庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境
庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境 一.介绍 说起微服务架构来,有一个环节是少不了的,那就是CI/CD持续集成的环境.当然,搭建CI/CD环境的工具很多, ...
- 在Windows环境中使用Nginx, Consul, Consul Template搭建负载均衡和服务发现服务
搭建负载均衡和服务发现服务的目的 随着网站业务的不断提升,单个服务器的性能越来越难满足客户的业务需求,所以很多情况下,需要使用多服务器实例和负载均衡器来满足业务需要. Nginx 什么是Nginx N ...
- 使用 SpringBoot+Dubbo 搭建一个简单分布式服务
实战之前,先来看几个重要的概念 开始实战之前,我们先来简单的了解一下这样几个概念:Dubbo.RPC.分布式.由于本文的目的是带大家使用SpringBoot+Dubbo 搭建一个简单的分布式服务,所以 ...
- 用Python搭建简单的HTTP服务 · Zhangxu's Blog
分享一个快速用Python搭建简单的HTTP服务的方法. 平时我们可能有需要,传输某个文件到手机,或者工作中某台服务器的电脑. 假如这个手机是个测试手机/服务器,并没有微信QQ之类的软件,而且你也不想 ...
- 服务器搭建(CenOS 7 Apache + PHP _Mysql环境(LAMP))
服务器搭建(CenOS 7 Apache + PHP _Mysql环境(LAMP)) 第一步.更换阿里云 yum源 curl -o /etc/yum.repos.d/CentOS-Base.repo ...
- 让你少走弯路的搭建树莓派的Net与NodeJS运行环境
树莓派是当前最火的嵌入计算平台没有之一,树莓派可以给我们无数的想象,树莓派的高性能.低功耗.低成本.可扩展性(最新的树莓派原生支持WIFI和蓝牙,这功能太赞了)深受大家的喜爱.虽然树莓派到目前为止 ...
随机推荐
- Qt编写安防视频监控系统27-GPU显示
一.前言 之前用ffmpeg解码的时候,已经做了硬解码的处理,比如支持qsv.dxva2.d3d11va等方式进行硬解码处理,但是当时解码出来以后,还是重新转成了QImage来绘制,这样就大打折扣了, ...
- 网络编程懒人入门(十三):一泡尿的时间,快速搞懂TCP和UDP的区别
本文引用了作者Fundebug的"一文搞懂TCP与UDP的区别"一文的内容,感谢无私分享. 1.引言 网络协议是每个搞网络通信应用开发(比如IM.推送.网关等等)的程序员都必须要掌 ...
- IM跨平台技术学习(六):网易云信基于Electron的IM消息全文检索技术实践
本文作者网易云信高级前端开发工程师李宁,本文有修订. 1.引言 在IM客户端的使用场景中,基于本地数据的全文检索功能扮演着重要的角色,最常用的比如:查找聊天记录.联系人等. 类似于IM中的聊天记录查找 ...
- 今天记录一下uniapp制作小程序时包过大的解决方法
在开发小程序的时候,如果业务过于复杂就会使得包太大无法上线,在这我总结了几个解决包过大的方法,避免无法上线 1.静态图片使用线上地址,不要放到项目中,除了navBar的icon,因为那个只能使用本地资 ...
- 前端vue获取excell中的数据
这个功能我觉得还是挺好的,比如要批量上传一些数据,然后不用一个一个填入直接写个excell表然后一起上传,然后我在这边记录一下 首先用到了xlsx这个插件 下载 npm i xlsx --save 使 ...
- ffmpeg 去除音频中的静音
去除音频中的静音 //去除所有超过0.3秒的静音部分 ffmpeg -i input.mp3 -af silenceremove=stop_periods=-1:stop_duration=0.3:s ...
- 注册表判断是否安装微软Edge浏览器
自己摸索的,注册表判断是否安装微软Edge浏览器: bool checkInstalledMsEdge() { try { using(var ieKey = Registry.LocalMachin ...
- 一文搞懂SaaS架构建设流程:业务战略设计、架构蓝图设计、领域系统架构设计、架构治理与实施
大家好,我是汤师爷~ SaaS架构建设是一项复杂的系统工程,不仅需要技术层面的实现,更要从业务战略.架构设计.治理与实施等多个维度进行全面规划. 一个成功的SaaS架构可以帮助企业降低IT成本.提升业 ...
- Linux 虚拟机中不重启的情况下加新硬盘及扩展根分区容量
我这个系统是Redhat7.7的系统.磁盘占用比较高,需要扩充空用空间,同时又不能关停服务器,或者服务.所以就需要在虚拟机中不重启的情况下加新硬盘及扩展根分区容量. 首先,看一下我这个虚拟机分区占用情 ...
- linux命令操作android手机
目的 通过一台linux机器操作android手机做一些常用的操作 复杂的操作都是由简单操作开始的, 可以自行发掘 环境 笔记本: thinkpad t480 操作系统: archlinux adb版 ...