C# SDK实现百度云OCR的文字识别功能
程序员文章站
2023-12-14 19:51:04
最近项目要用到文字识别功能,所以花了几天时间整理了一下。今天就记录一下用c#实现文字识别的过程。
一、登录百度云进入控制台界面,创建应用获取秘钥
1、在百度云的产品里找...
最近项目要用到文字识别功能,所以花了几天时间整理了一下。今天就记录一下用c#实现文字识别的过程。
一、登录百度云进入控制台界面,创建应用获取秘钥
1、在百度云的产品里找到文字识别
2、找到通用文字识别点击立即使用。然后进入控制台。(这里可能会进入购买页面,可以直接购买免费版)
3、在控制台点击创建应用。然后填写相关内容就可以获得应用秘钥。
二、获得c#sdk
1、百度云c#sdk下载:
2、可以到官网直接下载:
三、将c#sdk导入vs
找到解决方案里的引用目录,右键,选择第一个添加引用。然后找到com项目下的类型库。选择microsoft word 12.0 object library,点击浏览,在文件夹里找到下载的c#jdk里的两个.dll文件,选中上传即可。
四、代码
using baidu.aip.ocr; using system; using system.collections.generic; using system.io; using system.linq; using system.text; using system.threading.tasks namespace bauduyuntext1 { class baiduyunprogram { static void main(string[] args) { // 设置appid/ak/sk //var app_id = "你自己的"; var api_key = "你自己的"; var secret_key = "你自己的"; var client = new baidu.aip.ocr.ocr(api_key, secret_key); client.timeout = 60000; // 修改超时时间 baiduyunprogram bai = new baiduyunprogram(); // bai.generalbasicurldemo(client); //图片url地址调用 bai.generalbasicdemo(client); //图片本地地址调用 } public void generalbasicdemo(ocr client) { var image = file.readallbytes("d://112.jpg"); // 调用通用文字识别, 图片参数为本地图片,可能会抛出网络等异常,请使用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); console.read(); } public void generalbasicurldemo(ocr client) { var url = "http://p0.so.qhimgs1.com/bdr/_240_/t017cab315ee6c04600.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); console.read(); } } }
这个demo里没有用到app_id所以我把它注释掉了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。