Skip to content

HerculeLiu/image-process

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

image-process

一个基于 Cloudflare Worker 的图片处理工作台。

当前支持的功能:

  • OCR:调用百度文档 OCR,返回文字和坐标。
  • 图片翻译:先 OCR,再调用 GLM-4.5-Flash 翻译文本,最后在前端 Canvas 上回贴到原图。
  • 格式转换:在前端把当前画布导出为 PNGJPEGWEBP

技术结构

  • Worker 入口:src/index.js
  • 后端接口:src/lib/api.js
  • 前端页面:src/web/html.js
  • 前端样式:src/web/styles.js
  • 前端交互:src/web/app.js

API

POST /api/ocr

输入:

{
  "imageBase64": "...",
  "languageType": "auto_detect"
}

返回 OCR 行结果和坐标框。

POST /api/image-translate

输入与 /api/ocr 相同。

这个接口当前用于“图片翻译”前的 OCR 预处理,返回 OCR 行数据。

POST /api/translate-texts

输入:

{
  "texts": ["hello", "world"],
  "targetLang": "zh"
}

后端调用 glm-4.5-flash,返回等长翻译结果数组。

必要环境变量

在 Cloudflare Worker Secrets 中配置:

npx wrangler secret put BAIDU_OCR_API_KEY
npx wrangler secret put BAIDU_OCR_SECRET_KEY
npx wrangler secret put ZHIPU_API_KEY

本地开发

项目当前使用 wrangler.toml

name = "image-process"
main = "src/index.js"
compatibility_date = "2024-01-01"

本地启动:

npx wrangler dev

部署

推荐方式:

  1. 推送代码到 GitHub。
  2. 在 Cloudflare Workers 中连接这个仓库。
  3. 配置上述 3 个 Secret。
  4. 触发部署。

之后每次推送到 main,Cloudflare 都可以重新拉取并部署。

当前实现说明

  • OCR 坐标由百度返回,前端用这些坐标绘制识别框或回贴翻译文本。
  • 图片翻译的最终合成在浏览器端完成,不在 Worker 内生成二进制图片。
  • 目前不包含去背景功能。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors