/// <summary> /// 写入OCR配置信息 /// </summary> /// <param name="userInfo"></param> public static void WriteOCRConfig(OCRConfig config) { using (StreamWriter writer = new StreamWriter(new FileStream(@"BaiduOCR.json", FileMode.Create), Encoding.UTF8)) { string str = JsonConvert.SerializeObject(config); writer.Write(str); } }
/// <summary> /// 载入OCR配置 /// </summary> public static OCRConfig LoadOCRConfig() { using (StreamReader reader = new StreamReader(new FileStream(@"BaiduOCR.json", FileMode.Open))) { var JsonStr = reader.ReadToEnd(); OCRConfig JsonConfig = JsonConvert.DeserializeObject <OCRConfig>(JsonStr); return(JsonConfig); } }
/// <summary> /// 加载配置 /// </summary> private void LoadConfig() { try { UserInfo = Utils.LoadUserInfoConfig(); } catch { } try { OCRConfig = Utils.LoadOCRConfig(); } catch { } }
/// <summary> /// 百度识别接口 /// </summary> /// <param name="base64String"></param> /// <returns></returns> public static string GetOcrResult(string base64String, OCRConfig oCRConfig) { Baidu.Aip.Ocr.Ocr client = new Baidu.Aip.Ocr.Ocr(oCRConfig.API_KEY, oCRConfig.SECRET_KEY); client.Timeout = 1000; //修改超时时间 byte[] imageBytes = Convert.FromBase64String(base64String); // 如果有可选参数 var options = new Dictionary <string, object> { { "language_type", "CHN_ENG" }, { "detect_direction", "true" }, { "detect_language", "true" }, { "probability", "true" } }; // 带参数调用通用文字识别, 图片参数为本地图片 var result = client.GeneralBasic(imageBytes, options); Console.WriteLine(result); var s = result["words_result"][0]["words"]; return(s.ToString()); }