tencent_ocr/.history/README_20250116091142.md
2025-01-16 11:18:42 +08:00

4.2 KiB
Raw Blame History

腾讯手写识别接口转接

  1. 输入图片的BASE64返回识别结果

  2. 使用JSON POST传输返回JSON符合restful风格

  3. 入参:

    • 图片的BASE64string
    • Scene场景默认是null可选only_hwstring
    • apikey: 测试期间设置为固定值1234567890string
  4. 出参:

    • 识别结果string
    • 成功与否boolean
  5. 使用腾讯通用手写体识别OCR SDK进行图像识别 使用go语言gin框架开发

  6. 流程:

    • 应用接收到POST数据以后校验数据的合法性json格式、base64格式等
    • 调用腾讯通用手写体识别OCR SDK进行图像识别
    • 再调用google gemini的api进行组织语言去除可能识别的错误。使用如下prompt
    你是一个专业的助手负责纠正OCR识别结果中的文本。只需要输出识别结果不需要输出任何解释。
    
    • 返回识别结果。
  7. google gemini的api key"your key"

  8. tencentSecretId = "your id",tencentSecretKey = "your secret"

  9. key存储在.env文件中使用dotenv库进行加载。

  10. 增加rate功能批改作文

项目结构

tencenthw/ ├── go.mod ├── go.sum ├── cmd/ │ └── server/ │ └── main.go └── pkg/ ├── config/ │ └── config.go └── handler/ └── ocr.go └── rate.go


# OCR Image Processing Service

这是一个集成了OCR识别、图片存储和文本处理功能的服务。支持多图片上传自动OCR识别并可以智能组织识别出的文本。

## 功能特点

- 支持多图片上传最多5张
- 自动OCR文字识别
- 智能文本整理(多图片场景)
- 图片云存储
- 支持多种图片格式

## API 接口说明

### 1. 多图片上传接口

**接口地址**: `/upload`
**请求方法**: POST
**Content-Type**: multipart/form-data

**请求参数**:
- `files`: 图片文件数组支持1-5张图片

**支持的图片格式**:
- JPEG/JPG
- PNG
- GIF
- BMP
- TIFF
- WEBP

**文件大小限制**: 每个文件最大10MB

**请求示例**:

```bash
curl -X POST \
'http://your-domain/upload' \
-H 'Content-Type: multipart/form-data' \
-F 'files=@image1.jpg' \
-F 'files=@image2.jpg'

响应格式:

{
"image_urls": [
"https://your-domain/image1.jpg",
"https://your-domain/image2.jpg"
],
"text": "整理后的文本内容",
"success": true
}

2. OCR识别接口

接口地址: /ocr 请求方法: POST Content-Type: application/json

请求参数:

{
"image_base64": "base64编码的图片内容",
"image_url": "图片URL地址(可选优先使用image_base64)",
"scene": "场景类型(可选)",
"apikey": "您的API密钥"
}

响应格式:

{
"original_text": "原始识别文本",
"result": "处理后的文本",
"success": true
}

错误码说明

HTTP状态码 错误描述 可能原因
400 Invalid request format 请求格式错误
400 No files uploaded 未上传文件
400 Maximum 5 files allowed 超过最大文件数限制
400 File size exceeds the limit of 10MB 文件大小超限
400 Invalid file type 不支持的文件类型
401 Invalid API key API密钥无效
500 OCR processing failed OCR处理失败
500 Text processing failed 文本处理失败

注意事项

  1. 图片上传建议:

    • 确保图片清晰可读
    • 控制图片大小在10MB以内
    • 使用支持的图片格式
  2. OCR识别建议

    • 对于多图片场景,系统会自动整理文本逻辑
    • 单图片场景直接返回识别结果
  3. API调用限制

    • 需要正确的API密钥
    • 建议控制并发请求数量

部署要求

  • Go 1.16+
  • 配置文件中需要设置:
    • Tencent Cloud OCR配置
    • Cloudflare R2存储配置
    • Gemini API配置
    • API密钥

环境变量配置

TENCENT_SECRET_ID=your_secret_id
TENCENT_SECRET_KEY=your_secret_key
GEMINI_API_KEY=your_gemini_api_key
API_KEY=your_api_key
R2_ACCESS_KEY=your_r2_access_key
R2_SECRET_KEY=your_r2_secret_key
R2_BUCKET=your_bucket_name
R2_ENDPOINT=your_r2_endpoint
R2_CUSTOM_DOMAIN=your_custom_domain