PaddleOCR在 windows下的webAPI部署方案
很多小伙伴在使用OCR时都希望能过采用API的方式调用,这样就可以跨端跨平台了。本文将介绍一种基于python的PaddleOCR识方案。喜欢的可以关注公众号,获取更多内容。


# 一、 windows环境下部署
###1.环境
操作系统:windows10;
主要软件环境:python3.9X64、opencv4.5.5、PaddleOCR2.5、paddlepaddle2.2.1。python运行环境建议3.6-3.9
###1. 环境安装
###1.1 安装python-3.9.1-amd64.exe
Python官方下载地址[python windows版本下载](https://www.python.org/downloads/windows/ "python windows版本下载")
选择合适的windows版本,下载到本地后,双击进行安装,安装时勾选添加环境变量。
验证是否修改成功,执行以下cmd命令 :
python -V
至此,python3.9安装成功。
###1.2 安装opencv4.5.5
pip3 install opencv-python==4.5.5.64
###1.3 安装PaddleOCR
安装PaddleOCR:
pip3 install paddleocr
如果提示报错缺少Microsoft Visual C++14.0 ,则需要下载安装。
去官网下载对应的文件(需要拥有一个微软的账号),首先,打开链接[my.visualstudio.com](https://my.visualstudio.com/Downloads/Featured?mkt=zh-cn "my.visualstudio.com") ,登录账号,点击进入下载页面;接下来,在下载页面搜索build tools,找到左侧的Visual Studio 2015 update 3。
点击Visual Studio 2015 update 3后,下载对应的文件即可,约1.1G,这里需要将格式修改为DVD。
下载完成后,我们得到了文件mu_visual_cpp_build_tools_2015_update_3_x64_dvd_dfd9a39c.iso,解压后,双击VisualCppBuildTools_Full.exe即可自动进行安装。
安装PaddleOCR的依赖预测库:
pip3 install paddlepaddle
###1.4 安装其他依赖
pip3 install Flask
pip3 install DateTime
至此基本环境搭建完成,接下来即可搭建WebAPI项目了。
###3. OCR部署
####3.1 功能代码(PaddleOCRWebAPI.py)
import io
from pickle import DICT
import paddleocr
import json
import base64
import DateTime
from flask import Flask, request,jsonify
import numpy as np
from PIL import Image
app=Flask(__name__) @app.route("/WebAPI/PaddleOCR",methods=["POST"])
def PaddleOCR():
if(request.data==""):
return APIResult.Error("request data is null")
data=json.loads(request.data)
imgbase64=data["image"];
imgbyte=base64.b64decode(imgbase64)
image=io.BytesIO(imgbyte)
temp= Image.open(image)
img=np.array(temp)[:,:,:3]
info= ppocr.ocr(img)
result={"TextBlocks":[]}
for textblocks in info:
textBlock={"Points":[],"Text":""}
for tk in textblocks[0]:
point={"x":str(tk[0]),"y":str(tk[1])}
textBlock["Points"].append(point)
textBlock["Text"]=textblocks[1][0]
result["TextBlocks"].append(textBlock)
print(result)
return jsonify(result) def main():
global ppocr;
ppocr=paddleocr.PaddleOCR(use_gpu=False);
app.run(debug=True,host="0.0.0.0",port=5000)
if __name__=="__main__":
main();
其中
app.run(debug=True,host="0.0.0.0",port=5000)
用于定义WebAPI的IP地址和端口,可根据实际情况部署修改。
启动服务:
python PaddleOCRWebAPI.py
#3.2接口文档
##基本信息
请求方式:POST
url地址:`http://ip:port/WebAPI/PaddleOCR`
数据格式:json
##### 输入参数
| 变量名 | 描述 | 是否必填 | 类型 | 备注 |
| image | 需要识别文字的图像base64 | 是 | string |
##### 输入示例:
{
"image": "xxxxxxxxx"
}
###输出参数
数据格式:json字符串
输出示例:
{"TextBlocks"://识别出来的文本块数组,
[
{"Points"://该数组固定四个大小,为一个识别区域的四个顶点坐标,从左上角开始,顺时针方向。
[
{"x":0,"y":0},
{"x":100,"y":0},
{"x":100,"y":50},
{"x":0,"y":50}
],
"Text":"中国ABC123"//一个文本区域识别出来的文字
},
{"Points":
[
{"x":0,"y":0},
{"x":100,"y":0},
{"x":100,"y":50},
{"x":0,"y":50}
],
"Text":"中国ABC123"
},
{"Points":
[
{"x":0,"y":0},
{"x":100,"y":0},
{"x":100,"y":50},
{"x":0,"y":50}
],
"Text":"中国ABC123"
},
......
]
}
PaddleOCR在 windows下的webAPI部署方案的更多相关文章
- RabbitMQ消息队列系列教程(二)Windows下安装和部署RabbitMQ
摘要 本篇经验将和大家介绍Windows下安装和部署RabbitMQ消息队列服务器,希望对大家的工作和学习有所帮助! 目录 一.Erlang语言环境的搭建 二.RabbitMQ服务环境的搭建 三.Ra ...
- 在windows下使用jenkins部署docker容器
在windows下使用jenkins部署docker容器最近在学习jenkins,docker部署来实现集成部署,所以想在windows下面实现测试,但是发现在windows下docker支持不是很好 ...
- RabbitMQ分布式消息队列服务器(一、Windows下安装和部署)
RabbitMQ消息队列服务器在Windows下的安装和部署-> 一.Erlang语言环境的搭建 RabbitMQ开源消息队列服务是使用Erlang语言开发的,因此我们要使用他就必须先进行Erl ...
- Windows下war包部署到Linux下Tomcat出现的问题
最近,将Windows下开发的war包部署到Linux下的Tomcat时报了一个错误:tomcat error in opening zip file.按理说,如果正常,当把war包复制到webapp ...
- windows下Nginx+RTMP部署
在windows下部署参考博客:https://blog.csdn.net/l1028386804/article/details/80022437 参考这个部署完成后,一般没有什么问题,可以看到视频 ...
- windows下Nodejs环境部署
前言 Nodejs是基于v8引擎的轻量级框架,其特点为事件驱动.非阻塞.单线程.异步回调等. Nodejs相对于其他运行在服务器端的语言,容易学习,使用方便. 本文将介绍windows下Nodejs的 ...
- Windows 下Redis的部署 及key 过期事件
window下Redis部署,下载安装完成之后,进入到redis目录: 1.修改配置文件redis.windows.service.conf配置密码 requirepass myRedis (注意在R ...
- windows下RocketMQ安装部署
一.预备环境 1.系统 Windows 2. 环境 JDK1.8.Maven.Git 二. RocketMQ部署 1.下载 1.1地址:http://rocketmq.apache.org/relea ...
- mongoDB在windows下安装与配置方案
首先在官网下载mongoDB的安装包: https://www.mongodb.org/downloads 百度云盘下载:http://pan.baidu.com/s/1slUSGYp (安装版 wi ...
- windows下使用tomcat部署网站
一.配置过程: 1. 配置java环境(之前已装过,跳过此步骤) 2. 下载tomcat (1)找到支持此java版本的tomcat版本: (2)下载与当前系统对应的安装文件 http://tom ...
随机推荐
- 深入解析decltype和decltype(auto)
decltype关键字是C++11新标准引入的关键字,它和关键字auto的功能类似,也可以自动推导出给定表达式的类型,但它和auto的语法有些不同,auto推导的表达式放在"="的 ...
- Telnet qsnctfwp
Windows 安装 Telnet 在控制面板的程序和功能中选择打开或关闭Windows功能 启用 Telnet 客户端并单击确认退出 启动终端,输入命令 telnet 打开 Telnet 客户端 在 ...
- Kafka的实现细节
Kafka的实现细节 一.Topic和Partition 在Kafka中的每一条消息都有一个topic.一般来说在我们应用中产生不同类型的数据,都可以设置不同的主题.一个主题一般会有多个消息的订阅者, ...
- 顺通鞋业MES生产工单管理系统软件
顺通鞋业MES管理系统的"生产执行"是办公室和车间信息交互的枢纽,是一款针对大型鞋业生产企业开发的可配置化智能制造管理系统.工人可以通过车间终端(如安装在机器旁的固定工业触摸屏或移 ...
- CF1857G Counting Graphs 题解
题目描述 给定一棵最小生成树,求有多少张图的最小生成树是给定的树,并且这张图的所有边边权不超过 \(S\). 思路 考虑在最小生成树中加边. 我们回顾一下 Kruskal 的过程: 找到没被用过的,最 ...
- OAM 深入解读:OAM 为云原生应用带来哪些价值?
导读:OAM 是阿里巴巴联合微软在社区推出的一款用于构建和交付云原生应用的标准规范,旨在通过全新的应用定义.运维.分发与交付模型,推动应用管理技术向"轻运维"的方向迈进,全力开启下 ...
- KubeNode:阿里巴巴云原生 容器基础设施运维实践
简介: 目前 KubeNode 已经覆盖了阿里巴巴集团的所有的 ASI 集群,接下来,将随着阿里巴巴集团"统一资源池"的项目,推进 KubeNode 覆盖更大的范围.更多的场景,让 ...
- 重磅官宣:Nacos2.0发布,性能提升10倍
简介: Nacos2.0 作为一个跨代版本,彻底解决了 Nacos1.X 的性能问题,将性能提升了 10 倍. 作者:席翁 继 Nacos 1.0 发布以来,Nacos 迅速被成千上万家企业采用,并 ...
- 重磅发布:微服务引擎 MSE 专业版
简介: 性能提升 10 倍,更高的 SLA 保障,新用户限时抢购 8 折资源包. 微服务引擎 MSE 专业版发布,支持 Nacos 2.0 ,相比基础版,专业版具有更高的 SLA 保障,性能提升十倍, ...
- 云原生数据仓库AnalyticDB支撑双11,大幅提升分析实时性和用户体验
简介:2021年双十一刚刚落幕,已连续多年稳定支持双十一大促的云原生数据仓库AnalyticDB,今年双十一期间仍然一如既往的稳定.除了稳定顺滑的基本盘之外,AnalyticDB还有什么亮点呢?下面 ...