C# SDK文档
简介
Hi,您好,欢迎使用百度文字识别服务。
本文档主要针对C#开发者,描述百度文字识别接口服务的相关技术内容。如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
接口能力
接口名称 | 接口能力简要描述 |
---|---|
通用文字识别 | 识别图片中的文字信息 |
通用文字识别(高精度版) | 更高精度地识别图片中的文字信息 |
通用文字识别(含位置信息版) | 识别图片中的文字信息(包含文字区域的坐标信息) |
通用文字识别(高精度含位置版) | 更高精度地识别图片中的文字信息(包含文字区域的坐标信息) |
通用文字识别(含生僻字版) | 识别图片中的文字信息(包含对常见字和生僻字的识别) |
网络图片文字识别 | 识别一些网络上背景复杂,特殊字体的文字 |
身份证识别 | 识别身份证正反面的文字信息 |
银行卡识别 | 识别银行卡的卡号并返回发卡行和卡片性质信息 |
驾驶证识别 | 识别机动车驾驶证所有关键字段 |
行驶证识别 | 识别机动车行驶证所有关键字段 |
车牌识别 | 对小客车的车牌进行识别 |
营业执照识别 | 对营业执照进行识别 |
表格文字识别 | 自动识别表格线及表格内容,结构化输出表头、表尾及每个单元格的文字内容 |
通用票据识别 | 对各类票据图片(医疗票据,保险保单等)进行文字识别,并返回文字在图片中的位置信息 |
版本更新记录
上线日期 | 版本号 | 更新内容 |
---|---|---|
2018.4.2 | 3.4.0 | 新增.Net Core支持;新增表格识别同步接口 |
2018.1.11 | 3.3.1 | 新增自定义文字识别接口 |
2017.12.21 | 3.3.0 | 接口升级 |
2017.9.12 | 3.0.0 | 更新SDK打包方式:所有AI服务集成一个SDK |
2017.8.24 | 1.6.0 | OCR 新增营业执照识别 |
2017.8.11 | 1.5.0 | OCR 新增通用票据识别 |
2017.7.28 | 1.4.0 | OCR 新增图片url识别;新增高精度文字识别 |
2017.7.13 | 1.3.0 | OCR加入车牌识别;Bug fix |
2017.6.30 | 1.2.0 | OCR加入表格识别 |
2017.6.16 | 1.1.0 | 新增驾驶证、行驶证识别接口 |
2017.5.4 | 1.0.0 | 第一版! |
快速入门
安装文字识别 C# SDK
C# SDK 现已开源! https://github.com/Baidu-AIP/dotnet-sdk
** 支持平台:.Net Framework 3.5 4.0 4.5, .Net Core 2.0 **
方法一:使用Nuget管理依赖 (推荐)
在NuGet中搜索 Baidu.AI
,安装最新版即可。
packet地址 https://www.nuget.org/packages/Baidu.AI/
方法二:下载安装
文字识别 C# SDK目录结构
Baidu.Aip
├── net35
│ ├── AipSdk.dll // 百度AI服务 windows 动态库
│ ├── AipSdk.xml // 注释文件
│ └── Newtonsoft.Json.dll // 第三方依赖
├── net40
├── net45
└── netstandard2.0
├── AipSdk.deps.json
└── AipSdk.dll
如果需要在 Unity 平台使用,可引用工程源码自行编译。
安装
1.在官方网站下载C# SDK压缩工具包。
2.解压后,将 AipSdk.dll
和 Newtonsoft.Json.dll
中添加为引用。
新建交互类
Baidu.Aip.Ocr.Ocr是文字识别的交互类,为使用文字识别的开发人员提供了一系列的交互方法。
用户可以参考如下代码新建一个交互类:
// 设置APPID/AK/SK
var APP_ID = "你的 App ID";
var API_KEY = "你的 Api Key";
var SECRET_KEY = "你的 Secret Key";
var client = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY);
client.Timeout = 60000; // 修改超时时间
在上面代码中,常量APP_ID
在百度云控制台中创建,常量API_KEY
与SECRET_KEY
是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。
注意:如您以前是百度云的老用户,其中API_KEY
对应百度云的“Access Key ID”,SECRET_KEY
对应百度云的“Access Key Secret”。
接口说明
通用文字识别
用户向服务请求识别某张图中的所有文字
public void GeneralBasicDemo() {
var image = File.ReadAllBytes("图片文件路径");
// 调用通用文字识别, 图片参数为本地图片,可能会抛出网络等异常,请使用try/catch捕获
var result = client.GeneralBasic(image);
Console.WriteLine(result);
// 如果有可选参数
var options = new Dictionary<string, object>{
{"language_type", "CHN_ENG"},
{"detect_direction", "true"},
{"detect_language", "true"},
{"probability", "true"}
};
// 带参数调用通用文字识别, 图片参数为本地图片
result = client.GeneralBasic(image, options);
Console.WriteLine(result);
}
public void GeneralBasicUrlDemo() {
var url = "https//www.x.com/sample.jpg";
// 调用通用文字识别, 图片参数为远程url图片,可能会抛出网络等异常,请使用try/catch捕获
var result = client.GeneralBasicUrl(url);
Console.WriteLine(result);
// 如果有可选参数
var options = new Dictionary<string, object>{
{"language_type", "CHN_ENG"},
{"detect_direction", "true"},
{"detect_language", "true"},
{"probability", "true"}
};
// 带参数调用通用文字识别, 图片参数为远程url图片
result = client.GeneralBasicUrl(url, options);
Console.WriteLine(result);
}
通用文字识别 请求参数详情
参数名称 | 是否必选 | 类型 | 可选值范围 | 默认值 | 说明 |
---|---|---|---|---|---|
image | 是 | byte[] | 二进制图像数据 | ||
url | 是 | string | 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效 | ||
language_type | 否 | string | CHN_ENG ENG POR FRE GER ITA SPA RUS JAP KOR |
CHN_ENG | 识别语言类型,默认为CHN_ENG。可选值包括: – CHN_ENG:中英文混合; – ENG:英文; – POR:葡萄牙语; – FRE:法语; – GER:德语; – ITA:意大利语; – SPA:西班牙语; – RUS:俄语; – JAP:日语; – KOR:韩语; |
detect_direction | 否 | string | true false |
false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: – true:检测朝向; – false:不检测朝向。 |
detect_language | 否 | string | true false |
false | 是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语) |
probability | 否 | string | true false |
是否返回识别结果中每一行的置信度 |
通用文字识别 返回数据参数详情
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
direction | 否 | number | 图像方向,当detect_direction=true时存在。 – -1:未定义, – 0:正向, – 1: 逆时针90度, – 2:逆时针180度, – 3:逆时针270度 |
log_id | 是 | number | 唯一的log id,用于问题定位 |
words_result_num | 是 | number | 识别结果数,表示words_result的元素个数 |
words_result | 是 | array | 定位和识别结果数组 |
+words | 否 | string | 识别结果字符串 |
probability | 否 | object | 行置信度信息;如果输入参数 probability = true 则输出 |
+average | 否 | number | 行置信度平均值 |
+variance | 否 | number | 行置信度方差 |
+min | 否 | number | 行置信度最小值 |
通用文字识别 返回示例
{
"log_id": 2471272194,
"words_result_num": 2,
"words_result":
[
{"words": " TSINGTAO"},
{"words": "青島睥酒"}
]
}
文章评论 本文章有个评论