132 lines
4.5 KiB
Markdown
132 lines
4.5 KiB
Markdown
---
|
||
name: tencentcloud-ocr-general
|
||
description: 腾讯云广告文字识别(AdvertiseOCR)接口调用技能。当用户需要从图片中识别文字内容时,应使用此技能。支持中英文、横排、竖排及倾斜场景的图片文字识别,支持90度、180度、270度翻转场景的图片识别,返回文本框位置与文字内容。支持图片Base64和URL两种输入方式。
|
||
---
|
||
|
||
# 腾讯云广告文字识别 (AdvertiseOCR)
|
||
|
||
## 用途
|
||
|
||
调用腾讯云OCR广告文字识别接口,支持图片内文字的检测和识别,返回文本框位置与文字内容。具有较高召回率和准确率。
|
||
|
||
核心能力:
|
||
- **中英文识别**:支持中英文混合文字识别
|
||
- **多方向支持**:支持横排、竖排以及倾斜场景文字识别
|
||
- **翻转支持**:支持90度、180度、270度翻转场景文字识别
|
||
- **坐标返回**:返回每个文本行的四顶点坐标(Polygon)
|
||
- **置信度评估**:返回每个文本行的识别置信度(0~100)
|
||
|
||
官方文档:https://cloud.tencent.com/document/api/866/49524
|
||
|
||
默认接口请求频率限制:20次/秒。
|
||
|
||
## 使用时机
|
||
|
||
当用户提出以下需求时触发此技能:
|
||
- 需要从图片中提取文字信息
|
||
- 需要识别图片上的文字内容
|
||
- 涉及文字OCR识别的任何场景
|
||
- 需要获取图片中文字的位置坐标信息
|
||
|
||
## 环境要求
|
||
|
||
- Python 3.6+
|
||
- 依赖:`tencentcloud-sdk-python`(通过 `pip install tencentcloud-sdk-python` 安装)
|
||
- 环境变量:
|
||
- `TENCENTCLOUD_SECRET_ID`:腾讯云API密钥ID
|
||
- `TENCENTCLOUD_SECRET_KEY`:腾讯云API密钥Key
|
||
|
||
## 使用方式
|
||
|
||
运行 `scripts/main.py` 脚本完成图片文字识别。
|
||
|
||
### 请求参数
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| ImageBase64 | str | 否(二选一) | 图片Base64值,编码后不超过10M,分辨率建议600*800以上,支持PNG/JPG/JPEG/BMP |
|
||
| ImageUrl | str | 否(二选一) | 图片URL地址,建议存储于腾讯云COS。都提供时仅使用ImageUrl |
|
||
|
||
### 输出格式
|
||
|
||
识别成功后返回 JSON 格式结果:
|
||
|
||
```json
|
||
{
|
||
"TextDetections": [
|
||
{
|
||
"DetectedText": "识别出的文本行内容",
|
||
"Confidence": 99,
|
||
"Polygon": [
|
||
{"X": 0, "Y": 0},
|
||
{"X": 100, "Y": 0},
|
||
{"X": 100, "Y": 50},
|
||
{"X": 0, "Y": 50}
|
||
],
|
||
"AdvancedInfo": "{\"Parag\":{\"ParagNo\":1}}"
|
||
}
|
||
],
|
||
"TextCount": 1,
|
||
"ImageSize": {
|
||
"Width": 800,
|
||
"Height": 600
|
||
},
|
||
"RequestId": "xxx"
|
||
}
|
||
```
|
||
|
||
**响应字段说明:**
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| TextDetections | list | 检测到的文本信息列表 |
|
||
| TextDetections[].DetectedText | str | 识别出的文本行内容 |
|
||
| TextDetections[].Confidence | int | 置信度 0~100 |
|
||
| TextDetections[].Polygon | list of Coord | 文本行坐标,四个顶点坐标(X, Y) |
|
||
| TextDetections[].AdvancedInfo | str | 扩展字段,含段落信息Parag(ParagNo) |
|
||
| TextCount | int | 检测到的文本行数量 |
|
||
| ImageSize | object | 图片分辨率信息,含Width和Height(单位px) |
|
||
| RequestId | str | 唯一请求ID |
|
||
|
||
### 错误码说明
|
||
|
||
| 错误码 | 含义 |
|
||
|--------|------|
|
||
| FailedOperation.DownLoadError | 文件下载失败 |
|
||
| FailedOperation.EmptyImageError | 图片内容为空 |
|
||
| FailedOperation.EngineRecognizeTimeout | 引擎识别超时 |
|
||
| FailedOperation.ImageDecodeFailed | 图片解码失败 |
|
||
| FailedOperation.ImageNoText | 图片中未检测到文本 |
|
||
| FailedOperation.LanguageNotSupport | 输入的Language不支持 |
|
||
| FailedOperation.OcrFailed | OCR识别失败 |
|
||
| FailedOperation.UnKnowError | 未知错误 |
|
||
| FailedOperation.UnOpenError | 服务未开通 |
|
||
| InvalidParameterValue.InvalidParameterValueLimit | 参数值错误 |
|
||
| LimitExceeded.TooLargeFileError | 文件内容太大 |
|
||
| ResourceUnavailable.InArrears | 账号已欠费 |
|
||
| ResourceUnavailable.ResourcePackageRunOut | 账号资源包耗尽 |
|
||
| ResourcesSoldOut.ChargeStatusException | 计费状态异常 |
|
||
|
||
### 业务逻辑说明
|
||
|
||
1. ImageBase64和ImageUrl必须提供其一,都提供时只使用ImageUrl
|
||
2. 图片经Base64编码后不超过10M,分辨率建议600*800以上
|
||
3. 支持PNG、JPG、JPEG、BMP格式
|
||
4. 始终计费
|
||
|
||
### 调用示例
|
||
|
||
```bash
|
||
# 通过URL识别图片文字
|
||
python scripts/main.py --image-url "https://example.com/ad_image.jpg"
|
||
|
||
# 通过文件路径(自动Base64编码)识别
|
||
python scripts/main.py --image-base64 ./ad_image.jpg
|
||
|
||
# 通过Base64文本文件识别
|
||
python scripts/main.py --image-base64 ./base64.txt
|
||
|
||
# 指定地域
|
||
python scripts/main.py --image-url "https://example.com/ad_image.jpg" --region ap-beijing
|
||
```
|