paddleocr 在docker环境下部署_docker部署paddleocr,90%的人看完都说好

简介: paddleocr 在docker环境下部署_docker部署paddleocr,90%的人看完都说好
#main_ocr.py
from fastapi import FastAPI, UploadFile, File
import codecs
import sys
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import JSONResponse
from ocr_paddle import ocr
from PIL import Image
import io
app = FastAPI()
app.add_middleware(
CORSMiddleware,
# 允许跨域的源列表,例如 [“http://www.example.org”] 等等,[“*”] 表示允许任何源
allow_origins=[“*”],
# 跨域请求是否支持 cookie,默认是 False,如果为 True,allow_origins 必须为具体的源,不可以是 [“*”]
allow_credentials=False,
# 允许跨域请求的 HTTP 方法列表,默认是 [“GET”]
allow_methods=[“*”],
# 允许跨域请求的 HTTP 请求头列表,默认是 [],可以使用 [“*”] 表示允许所有的请求头
# 当然 Accept、Accept-Language、Content-Language 以及 Content-Type 总之被允许的
allow_headers=[“*”],
# 可以被浏览器访问的响应头, 默认是 [],一般很少指定
# expose_headers=[“*”]
# 设定浏览器缓存 CORS 响应的最长时间,单位是秒。默认为 600,一般也很少指定
# max_age=1000
)
@app.post(“/image2text/”)
async def image2text(file: UploadFile):
# print(file.filename)
try:
# 检查文件是否上传成功
if file.content_type.startswith(‘image’):
# 指定本地文件保存路径
with open(f"./uploads/{file.filename}", “wb”) as f:
f.write(file.file.read())
res=ocr(file.filename)
return JSONResponse(content={"message": res}, status_code=200)
    else:
        return JSONResponse(content={"message": "Invalid file format. Only images are allowed."}, status_code=400)
except Exception as e:
    return JSONResponse(content={"message": str(e)}, status_code=500)
@app.post(“/image2text2/”)
async def image2text2(image_bytes):
print(image_bytes)
status=0
res=“”
try:
image_stream = io.BytesIO(image_bytes)
# print(file.filename)
# 指定图像文件的本地保存路径
save_path = “./uploads/image.png”
image = Image.open(image_stream)
# 保存图像到本地文件
    image.save(save_path)
    status=200
    res=ocr("image.png")
except Exception as e:
    status=500
finally:
    # 关闭图像对象和二进制流
    image.close()
    image_stream.close()
return JSONResponse(content={"message": res}, status_code=status)

在最下面加上 这一句 代替命令行启动

if name == “__main__”:
import uvicorn
uvicorn.run(app=‘main_ocr:app’, host=“0.0.0.0”, port=8888, reload=True)
6. 制作镜像,build

docker build -t ppocr:1.0 .


相关文章
|
12天前
|
测试技术 Linux 网络安全
【Docker项目实战】使用Docker部署Tasks.md任务管理白板
【6月更文挑战第1天】使用Docker部署Tasks.md任务管理白板
31 4
|
1天前
|
机器人 开发工具 计算机视觉
基于 docker 环境的 LET-VINS 复现
该文介绍了在Docker环境下实践LET-NET的步骤。从GitHub克隆LET-NET代码,使用Docker运行vins-mono环境。安装ncnn,配置代理,更新源,安装依赖并验证安装成功。在运行LET-NET时遇到opencv版本不兼容,指出怎么安装指定版本的 opencv。解决Docker容器中的显示问题,通过`xhost +`命令运行LET-NET。在ROS中构建VINS-Mono时,cv_bridge找不到的问题,通过安装cv_bridge,设置ROS环境和工作空间,以及解决ncnn的配置问题,最终成功运行VINS-Mono。还需要下载UMA-VI数据集并修改相关路径以运行演示。
|
3天前
|
缓存 测试技术 Linux
【Docker项目实战】使用Docker部署Hasty Paste粘贴应用程序
【6月更文挑战第10天】使用Docker部署Hasty Paste粘贴应用程序
12 2
|
4天前
|
机器学习/深度学习 安全 测试技术
【Docker项目实战】在Docker环境下使用RustScan端口扫描工具
【6月更文挑战第9天】在Docker环境下使用RustScan端口扫描工具
17 5
|
5天前
|
监控 JavaScript 测试技术
【Docker项目实战】使用Docker部署kener监控面板
【6月更文挑战第8天】使用Docker部署kener监控面板
23 10
|
6天前
|
NoSQL Ubuntu 关系型数据库
轻松上手 Docker:一键部署常用软件环境指南
轻松上手 Docker:一键部署常用软件环境指南
|
6天前
|
监控 Cloud Native 持续交付
实现容器集群轻松部署:Docker Swarm 集群管理解析
实现容器集群轻松部署:Docker Swarm 集群管理解析
|
6天前
|
网络安全 开发者 Docker
探索 Docker Machine:打造无缝多平台容器部署的利器
探索 Docker Machine:打造无缝多平台容器部署的利器
|
6天前
|
关系型数据库 持续交付 数据库
简化多容器应用部署:深入理解 Docker Compose
简化多容器应用部署:深入理解 Docker Compose
|
6天前
|
安全 持续交付 Docker
精通 Docker:简化开发、部署与安全保障
精通 Docker:简化开发、部署与安全保障