用eclipse做jsp网站,python做网站快吗,那个网站做排列五头比较准,WordPress更新最新版本失败很多小伙伴在使用OCR时都希望能采用API的方式调用#xff0c;这样就可以跨端跨平台了。本文将介绍一种基于python的PaddleOCR识别WebAPI部署方案。喜欢的可以关注公众号#xff0c;获取更多内容。一、 Linux环境下部署1.环境要求操作系统#xff1a;CenterOS7#xff1b;主…很多小伙伴在使用OCR时都希望能采用API的方式调用这样就可以跨端跨平台了。本文将介绍一种基于python的PaddleOCR识别WebAPI部署方案。喜欢的可以关注公众号获取更多内容。 一、 Linux环境下部署1.环境要求操作系统CenterOS7主要软件环境python3.9X64、opencv4.5.5、PaddleOCR2.5、paddlepaddle2.2.1。python运行环境建议3.6-3.91. 环境安装1.1 安装python3.9x64运行以下命令进行python3.9版本的安装wget https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tgzyum install -y gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-develmkdir /usr/local/softwaremkdir /usr/local/software/tarsmkdir /usr/local/software/pythontar -zxvf Python-3.9.10.tgz -C /usr/local/software/tars/mv /usr/local/software/tars/Python-3.9.10 /usr/local/software/pythoncd /usr/local/software/python/Python-3.9.10# 指定安装目录为/usr/local/software/python/./configure --prefix/usr/local/software/python/makemake install如果提示没有【wget】命令请准备【wget】的安装。修改环境变量vi /etc/profile在末尾添加如下内容#python
PATH/usr/local/software/python/bin:$PATH保存后执行source /etc/profile修改python的链接指向用于修改默认的python命令版本mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/software/python/bin/python3 /usr/bin/python因为yum和firewall都依赖python所以更改会导致它们不可用需要修改配置。编辑yum文件:vi /usr/bin/yum将第一行”#!/usr/bin/python” 改为 “#!/usr/bin/python2.7”即可。编辑urlgrabber-ext-down文件:vi /usr/libexec/urlgrabber-ext-down将第一行”#!/usr/bin/python” 改为 “#!/usr/bin/python2.7”即可。验证是否修改成功 执行 :python -V至此python3.9安装成功。1.2 安装opencv4.5.5pip3 install opencv-python4.5.5.64
pip3 install opencv-python-headless1.3 安装PaddleOCRpip3 install paddleocr安装PaddleOCR的依赖预测库pip3 install paddlepaddle1.4 安装其他依赖pip3 install Flask
pip3 install DateTime1.5 安装libstdc.so.6.0下载安装libstdc.so.6.0依赖库。然后上传到linux任意目录下执行以下命令cp libstdc.so.6.0.26 /usr/lib64/
cd /usr/lib64/
rm -rf libstdc.so.6
ln -s libstdc.so.6.0.26 libstdc.so.6至此基本环境搭建完成接下来即可搭建WebAPI项目了。用于定义WebAPI的IP地址和端口可根据实际情况部署修改。请求方式POSTurl地址http://ip:port//WebAPI/PaddleOCR数据格式json把下面代码另存为PaddleOCRWebAPI.py文件并上传到linux系统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
appFlask(__name__)
app.config[JSON_AS_ASCII]False
app.route(/WebAPI/PaddleOCR,methods[POST])
def PaddleOCR():if(request.data):return APIResult.Error(request data is null)datajson.loads(request.data)imgbase64data[image];imgbytebase64.b64decode(imgbase64)imageio.BytesIO(imgbyte)temp Image.open(image)imgnp.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;ppocrpaddleocr.PaddleOCR(use_gpuFalse);app.run(debugTrue,host0.0.0.0,port80)
if __name____main__:main();启动服务python PaddleOCRWebAPI.py更多技术学习请关注公众号【明月心技术学堂】或者加入QQ群了解。QQ群318860399