首页 > 系统相关 >PaddleOCR在 windows下的webAPI部署方案

PaddleOCR在 windows下的webAPI部署方案

时间:2022-09-03 13:23:11浏览次数:75  
标签:webAPI windows PaddleOCR python import 安装 ###

很多小伙伴在使用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=80)
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"
},
......
]
}

 

标签:webAPI,windows,PaddleOCR,python,import,安装,###
From: https://www.cnblogs.com/raoyutian/p/16652428.html

相关文章

  • Windows10系统MySQL5.7升级到8.0
    转自:https://www.freesion.com/article/8785691339/记录MySQL5.7升级到8.0,卸载安装等解决方案1.停止MySQL服务2.卸载MySQL相关的程序step1:本次是win10系统环境;......
  • 如何在 Windows 上安装 React.js |如何在 Windows 上安装 React JS |在 Windows 上安
    如何在Windows上安装React.js|如何在Windows上安装ReactJS|在Windows上安装ReactJS—Codexashish在这篇文章中,我们将看到如何在Windows中安装ReactJS......
  • Windows10 更改开机音乐
    1、首先下载WinaeroTweaker软件,下载地址:WinaeroTweaker 然后默认安装2、打开软件  3、找到要替换的音乐  4、点击Rebootnow ......
  • Windows超级管理器
    Windows超级管理器是一款系统管理软件,该软件功能十分全面,提供了全面的系统检测,高效地帮助用户查看及了解计算机参数配置,并附带了多个实用的工具,有效地检测出电脑存在错误或......
  • Windows编译 wireshark
    要想编译WireShark:我们需要设置一些环境变量来配置cmake,幸运的是,vscode的CMake插件为我们提供了这个功能,我们只需要在工作区中设置即可:同时需要注意的是,因为wireshark需......
  • windows共享目录开启方式
    必须在同一局域网内   操作:右键需要共享的目录,点击“属性”-“共享”-“共享...”,选择访问的账户,ok。    访问: win+r输入“\\ip”自动打开的对话框输......
  • 05_Linux基础-NGINX编译安装^判断是否启动^修改端口^启动停止重启^相关路径^中文乱码-
    05_Linux基础-NGINX编译安装判断是否启动修改端口启动停止重启相关路径^中文乱码-Windows、Linux文件传输博客......
  • C++ Windows 各种计时函数总结
    本文对Windows平台下常用的计时函数进行总结,包括精度为秒、毫秒、微秒三种精度的5种方法。分为在标准C/C++下的二种time()及clock(),标准C/C++所以使用的time()及clock......
  • 苹果应用如何在windows上架应用?
     如今,有很多跨平台移动开发工具出现了,许多开发人员选择了这些快速发展。应用平台。因此,有些开发人员可能没有配备Mac计算机,并且在上传iOSAPP时可能会受到阻碍。 现在......
  • windows下如何设置开机自动运行批处理脚本和exe程序
    一)windows下如何设置开机自动运行批处理脚本1)创建文本文件,点击文件下的另存为,然后保存以bat结尾的文件2)使用快捷键,win+r输入:gpedit.msc进入本地策略管理器  3)点击w......