最近項目要用到文字識別功能,所以花了幾天時間整理了一下。今天就記錄一下用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.Tasksnamespace 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所以我把它注釋掉了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答