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

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

代码如下:

using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http.Headers;
using System.Web;
namespace ConsoleApplication1
{

	class Program
	{

		static void Main(string[] args)
		{
			MakeRequest();
			Console.WriteLine("Hit ENTER to exit...");
			Console.ReadLine();
		}

		static async void MakeRequest()
		{
			var client = new HttpClient();
			var queryString = HttpUtility.ParseQueryString(string.Empty);

			// Request headers
			// 这里输入API Key
			client.DefaultRequestHeaders.Add("Ocp-Apim-Subion-Key", "{subion key}");

			// Request parameters
			queryString["language"] = "unk";
			queryString["detectOrientation "] = "true";
			var uri = "https://api.cognitive.azure.cn/vision/v1.0/ocr?" + queryString;
			HttpResponseMessage response;

			// 这里输入使用的jpg图片路径
			string s = @"{""url"":" + @"""https://leizhangstorage.blob.core.chinacloudapi.cn/azureblog/ocr.jpg""}";

			// Request body
			byte[] byteData = Encoding.UTF8.GetBytes(s);
			using (var content = new ByteArrayContent(byteData))
			{
				content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
				response = await client.PostAsync(uri, content);
				var contents = await response.Content.ReadAsStringAsync();
			}
		}

	}

}

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

weinxin
我的微信
一个码农、工程狮、集能量和智慧于一身的、DIY高手、小伙伴er很多的、80后奶爸。
Igor
  • 版权声明: 发表于 2018-12-2718:41:29
  • 转载注明:http://blog.tsingmac.com/prolions/software/manual/587/
c# - 异步使用MySQL DB C/C++/C#

c# – 异步使用MySQL DB

C#异步读取MySQL数据库的问题解决。 我试图了解异步使用数据库。为此,我用一个表创建了简单的MySQL数据库,然后可以通过以下方式从中获取信息: public static void SyncRe...
如何移动 nuget 缓存文件夹 C/C++/C#

如何移动 nuget 缓存文件夹

本文告诉大家如何移动 nuget 缓存文件夹。 因为 nuget 文件夹一般比较大,现在我的 nuget 文件夹有 10 G,默认的 nuget 文件夹是在C盘,所以需要移动他。
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: