English | 简体中文
这是一个基于 Node.js 和 Tesseract OCR 引擎开发的 OCR 图像识别服务,支持中文简体和英文文本识别。
ocr-server/
├── app.js # 主程序入口
├── ocrRouter.js # OCR接口路由
├── tempImgs/ # 临时图片存储目录
├── tessdata/ # Tesseract语言数据目录
│ ├── chi_sim.traineddata # 中文简体语言包
│ └── eng.traineddata # 英文语言包
└── node_modules/ # 项目依赖模块
- 确保已安装 Node.js 环境
- 克隆或下载此项目到本地
- 确保
tessdata目录中包含chi_sim.traineddata和eng.traineddata语言数据文件 - 在项目根目录执行以下命令安装依赖:
yarn install
# 或者使用 npm
npm install- 启动服务:
yarn start
# 或者使用 npm
npm start请求URL: /api/imgOcr
请求方式: POST
Content-Type: multipart/form-data
参数说明:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| file | 是 | File | 要识别的图片文件(最大3MB) |
| lang | 否 | String | 识别语言,可选值:chi_sim, eng,默认为chi_sim |
支持的图片格式: png, jpeg, jpg
请求示例:
curl -X POST \
http://localhost:80/api/imgOcr \
-H 'Content-Type: multipart/form-data' \
-F 'file=@/path/to/your/image.jpg' \
-F 'lang=chi_sim'返回示例:
{
"code": 0,
"msg": "OCR识别成功",
"data": {
"text": "识别出的文本内容"
}
}请求URL: /api/base64Ocr
请求方式: POST
Content-Type: application/json
参数说明:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| base64Image | 是 | String | Base64编码的图片数据 |
| lang | 否 | String | 识别语言,可选值:chi_sim, eng,默认为chi_sim |
支持的图片格式: png, jpeg, jpg (Base64编码)
请求示例:
curl -X POST \
http://localhost:80/api/base64Ocr \
-H 'Content-Type: application/json' \
-d '{
"base64Image": "data:image/jpeg;base64,/9j/4AAQSkZ...(此处为Base64编码的图片数据)",
"lang": "chi_sim"
}'返回示例:
{
"code": 0,
"msg": "OCR识别成功",
"data": {
"text": "识别出的文本内容"
}
}| 错误码 | 说明 |
|---|---|
| 0 | 成功 |
| -1 | 请上传file图片资源(form-data格式) |
| -2 | 被检测图片最大3M |
| -3 | 仅支持(png、jpeg、jpg)类型图片检测 |
| -4 | OCR识别失败 |
| -11 | 参数错误, 请检查参数是否正确 |
| -21 | 无效的Base64格式 |
| -91 | OCR处理异常 |
| -777 | OCR识别失败(file path is bad) |
| -9999 | OCR识别失败(服务器内部错误) |
- 请确保图片清晰可读,以提高识别准确率
- 图片大小限制为3MB
- 目前仅支持中文简体(chi_sim)和英文(eng)两种语言的识别
- 默认使用中文简体(chi_sim)进行识别
- 如遇到语言包加载错误,请确保
tessdata目录中包含相应的语言数据文件 - 确保服务器有足够的权限访问临时文件夹和语言数据目录
此OCR服务基于以下技术开发:
- Node.js
- Express.js
- Tesseract OCR (通过node-tesr包)
- fs-extra
- multiparty
© 2023 OCR Server@luckycola.com.cn
