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 .


相关文章
|
1月前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
178 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
850 12
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
26天前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
30 2
|
27天前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
64 3
|
1月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
147 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
1月前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
43 3
|
1月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
1月前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
1月前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
68 1
|
2月前
|
Web App开发 前端开发 测试技术
【Docker项目实战】使用docker部署tabler后台模版
【10月更文挑战第10天】使用docker部署tabler后台模版
55 1
【Docker项目实战】使用docker部署tabler后台模版

热门文章

最新文章