使用 C# 代码实现读取图片中的文字(OCR)功能

Igor 算法&人工智能评论40,026字数 1379阅读4分35秒阅读模式

1 前期准备

  1. Azure China 账户
  2. 计算机视觉 API 的 API Key
  3. 需要进行分析图片的 URL

 

2 操作开始

1.我们可以访问:
https://dev.cognitive.azure.cn/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fc

可以看到最下面提供不同的开发语言 Code Sample。

2.我们复制出 C# Code,这是一个 Windows Console。

根据注释的内容,修改变量:

(1) API Key

(2) JPG 图片 URL

代码如下:

  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Net.Http;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Net.Http.Headers;
  7. using System.Web;
  8. namespace ConsoleApplication1
  9. {
  10.  
  11. class Program
  12. {
  13.  
  14. static void Main(string[] args)
  15. {
  16. MakeRequest();
  17. Console.WriteLine("Hit ENTER to exit...");
  18. Console.ReadLine();
  19. }
  20.  
  21. static async void MakeRequest()
  22. {
  23. var client = new HttpClient();
  24. var queryString = HttpUtility.ParseQueryString(string.Empty);
  25.  
  26. // Request headers
  27. // 这里输入API Key
  28. client.DefaultRequestHeaders.Add("Ocp-Apim-Subion-Key", "{subion key}");
  29.  
  30. // Request parameters
  31. queryString["language"] = "unk";
  32. queryString["detectOrientation "] = "true";
  33. var uri = "https://api.cognitive.azure.cn/vision/v1.0/ocr?" + queryString;
  34. HttpResponseMessage response;
  35.  
  36. // 这里输入使用的jpg图片路径
  37. string s = @"{""url"":" + @"""https://leizhangstorage.blob.core.chinacloudapi.cn/azureblog/ocr.jpg""}";
  38.  
  39. // Request body
  40. byte[] byteData = Encoding.UTF8.GetBytes(s);
  41. using (var content = new ByteArrayContent(byteData))
  42. {
  43. content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
  44. response = await client.PostAsync(uri, content);
  45. var contents = await response.Content.ReadAsStringAsync();
  46. }
  47. }
  48.  
  49. }
  50.  
  51. }
  52.  

来源: 使用 C# 代码实现读取图片中的文字(OCR)功能

文章末尾固定信息

weinxin
我的微信
我的微信
一个码农、工程狮、集能量和智慧于一身的、DIY高手、小伙伴er很多的、80后奶爸。
 
Igor
  • 本文由 Igor 发表于 2018-12-2718:41:29
c# - 异步使用MySQL DB C/C++/C#

c# – 异步使用MySQL DB

C#异步读取MySQL数据库的问题解决。 我试图了解异步使用数据库。为此,我用一个表创建了简单的MySQL数据库,然后可以通过以下方式从中获取信息: public static void SyncRe...
OpenCV在C#中应用—OpenCVSharp OpenCV

OpenCV在C#中应用—OpenCVSharp

之前一直是基于OpenCV开发视觉算法,但C++语言对于GUI的开发相对于C#来说确实很不方便,之前就了解到C#下使用OpenCV可以使用EmguCV,这段时间也确实是调通了,但是是通过把C++封装成...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证
加载失败