備忘録

備忘録

C#でWindows 10のOCRを利用する方法

Ⅰ. はじめに

タイトルの通り「C#Windows 10のOCRを利用する方法」です。

Ⅱ. 環境

Ⅱ. やり方

1. csprojを編集してTargetFrameworkを変更する
<TargetFramework>net5.0-windows10.0.18362.0</TargetFramework>
2. サンプルプログラムを書く

123.png
f:id:kagasu:20210614105758p:plain

Program.cs

using System;
using System.Threading.Tasks;
using Windows.Graphics.Imaging;
using Windows.Media.Ocr;
using Windows.Storage;
using Windows.Storage.Streams;

namespace OcrTest
{
  class Program
  {
    static async Task Main(string[] args)
    {
      var ocrEngine = OcrEngine.TryCreateFromUserProfileLanguages();

      // ローカルファイルの場合
      var storageFile = await StorageFile.GetFileFromPathAsync("C:\\123.png");
      using var iRandomAccessStream = await RandomAccessStreamReference.CreateFromFile(storageFile).OpenReadAsync();

      // URLの場合
      // var uri = new Uri("https://i.imgur.com/LkJ8ZEJ.png");
      // using var iRandomAccessStream = await RandomAccessStreamReference.CreateFromUri(uri).OpenReadAsync();

      var bitmapDecoder = await BitmapDecoder.CreateAsync(iRandomAccessStream);
      using var softwareBitmap = await bitmapDecoder.GetSoftwareBitmapAsync();

      var result = await ocrEngine.RecognizeAsync(softwareBitmap);
      Console.WriteLine(result.Text);
    }
  }
}

実行結果

123

類似記事