/// <summary> /// OCR 通用高精度印刷体识别(默认url) /// </summary> /// <param name="Image">图片</param> /// <param name="Type">1:url,2:base64</param> public static TencentOCRResult GeneralAccurateOCR(string Image, int?Type = 1) { try { enterpriseWeChatHelper.OCRFilter(); Credential cred = new Credential { SecretId = ConfigurationUtil.TencentSecretId, SecretKey = ConfigurationUtil.TencentSecretKey }; ClientProfile clientProfile = new ClientProfile(); HttpProfile httpProfile = new HttpProfile(); httpProfile.Endpoint = ("ocr.ap-guangzhou.tencentcloudapi.com"); clientProfile.HttpProfile = httpProfile; OcrClient client = new OcrClient(cred, "ap-guangzhou", clientProfile); GeneralAccurateOCRRequest req = new GeneralAccurateOCRRequest(); if (Type == null || Type == 1 || Type == 0) { req.ImageUrl = Image; } else { req.ImageBase64 = Image; } enterpriseWeChatHelper.SetHashIncr(1);//优先扣除库存 GeneralAccurateOCRResponse resp = client.GeneralAccurateOCR(req). ConfigureAwait(false).GetAwaiter().GetResult(); return(new TencentOCRResult { WordList = resp.TextDetections .Select(s => new Word { text = s.DetectedText.Replace(" ", "").ToLower() }) .Where(s => !string.IsNullOrEmpty(s.text)) .ToList() }); } catch (Exception e) { if (e.Message != "操作Redis失败")//如果请求接口失败则加回来 { enterpriseWeChatHelper.SetHashIncr(-1); } throw new Exception(e.Message); } }
/// <summary> /// 本接口支持图像整体文字的检测和识别,返回文字框位置与文字内容。相比通用印刷体识别接口,准确率和召回率更高。 /// </summary> /// <param name="req">参考<see cref="GeneralAccurateOCRRequest"/></param> /// <returns>参考<see cref="GeneralAccurateOCRResponse"/>实例</returns> public async Task <GeneralAccurateOCRResponse> GeneralAccurateOCR(GeneralAccurateOCRRequest req) { JsonResponseModel <GeneralAccurateOCRResponse> rsp = null; try { var strResp = await this.InternalRequest(req, "GeneralAccurateOCR"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <GeneralAccurateOCRResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }