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 .


相关文章
|
19小时前
|
Kubernetes Java Docker
使用Kubernetes和Docker部署Java微服务
使用Kubernetes和Docker部署Java微服务
|
5天前
|
测试技术 Linux 网络安全
【Docker项目实战】使用Docker部署RSS阅读器yarr
【6月更文挑战第22天】使用Docker部署RSS阅读器yarr
16 3
|
5天前
|
Docker 容器
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(二)
使用Docker部署的WPS Office服务可以通过内网穿透工具Cpolar实现远程访问。首先,创建一个名为“wps office”的隧道,选择HTTP协议和3000端口,分配免费的随机域名,并指定中国地区。然后,通过Cpolar的管理界面获取HTTP公网地址,用以远程访问WPS Office。由于随机域名会变化,可以升级Cpolar套餐并保留一个二级子域名,确保长期稳定的远程访问。配置子域名后,更新隧道设置,完成固定公网地址的绑定,从而实现随时随地通过固定地址访问WPS Office。
|
5天前
|
数据采集 JavaScript Go
蓝易云 - crawlab通过docker单节点部署简单爬虫
以上就是通过Docker单节点部署Crawlab并运行简单爬虫的步骤。在实际操作中,你需要根据自己的需求对爬虫代码进行编写。
12 2
|
6天前
|
搜索推荐 测试技术 Linux
【Docker项目实战】使用Docker部署EnBizCard数字名片工具
【6月更文挑战第21天】使用Docker部署EnBizCard数字名片工具
20 3
|
6天前
|
域名解析 网络协议 Ubuntu
docker快速部署DNS,实现快速上线
docker快速部署DNS,实现快速上线
|
7天前
|
Java Docker 容器
使用 Spring Boot 构建 Docker 镜像并进行多模式部署
使用 Spring Boot 构建 Docker 镜像并进行多模式部署
27 2
|
8天前
|
测试技术 Linux 数据库
【Docker项目实战】使用Docker部署Xnote轻量级笔记系统
【6月更文挑战第19天】使用Docker部署Xnote轻量级笔记系统
20 3
|
7天前
|
测试技术 Linux 网络安全
【Docker项目实战】使用Docker部署RSS阅读器yarr
【6月更文挑战第20天】使用Docker部署RSS阅读器yarr
14 1
|
9天前
|
Web App开发 网络协议 定位技术
【Docker项目实战】使用Docker部署IP工具箱MyIP
【6月更文挑战第18天】使用Docker部署IP工具箱MyIP
21 2