1.注册百度账号,获取文字识别API,创建自己的应用
点击创建应用,最主要的参数是API Key和Secret Key。
有了这些就可以进一步去看百度提供的SDK文档了。
这是相关SDK地址:http://ai.baidu.com/sdk
2.创建VS控制台应用程序,引入 DLL
创建控制台应用程序,再Nuget中搜索Baidu.AI安装即可
3.编写代码
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Recognition
{
class Program
{
static void Main(string[] args)
{
//设置AK/SK
var API_KEY = "qrLoluadLuXsdIs5EVxkw3GG";
var SECRET_KEY = "1HC9X5svB4BThVHuH3ddrdoyt2kt8vr6";
var client = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY);
client.Timeout = 60000; //修改超时时间
var image = File.ReadAllBytes("C:\\work\\pictures\\cpit.jpg");
// 调用通用文字识别, 图片参数为本地图片,可能会抛出网络等异常,请使用try/catch捕获
var url = "http://www.cpitone.com/upload/images/2019/4/1af464e9ef7c3fdc.jpg";
try
{
var result = client.GeneralBasic(image); //本地图片
//var result = client.GeneralBasicUrl(url); //网络图片
//var result = client.Accurate(image); //本地图片:相对于通用文字识别该产品精度更高,但是识别耗时会稍长。
//var result = client.General(image); //本地图片:通用文字识别(含位置信息版)
//var result = client.GeneralUrl(url); //网络图片:通用文字识别(含位置信息版)
//var result = client.GeneralEnhanced(image); //本地图片:调用通用文字识别(含生僻字版)
//var result = client.GeneralEnhancedUrl(url); //网络图片:调用通用文字识别(含生僻字版)
//var result = client.WebImage(image); //本地图片:用户向服务请求识别一些背景复杂,特殊字体的文字。
//var result = client.WebImageUrl(url); //网络图片:用户向服务请求识别一些背景复杂,特殊字体的文字。
Console.WriteLine(result);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}
}
}
要识别的图片:
识别出来的文字:
4.具体业务使用可以看使用场景来调用不同的接口,这是一个简单的识别,可以针对不能赋值、文字繁多、不认识的字都可以做一个简单的文字识别。