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.具体业务使用可以看使用场景来调用不同的接口,这是一个简单的识别,可以针对不能赋值、文字繁多、不认识的字都可以做一个简单的文字识别。