Vision APIの第三弾です。今回は、OCRで画像から文字列を抜き出してみます。
始めに
ライブラリを追加する
例にもれず下記のライブラリを追加します。
Microsoft.ProjectOxford.Vision
実装してみる
実装
分析自体は簡単です。
テキストを抜き出す際は、分析結果が行単位で取得されるので行単位で単語を全部抜き出します。
private static async Task RecognizeTextAsync() { var visionServiceClient = new VisionServiceClient("APIキー"); using (var imageFileStream = File.OpenRead(@"画像のパス")) { var analysisResult = await visionServiceClient.RecognizeTextAsync(imageFileStream, "en"); Console.WriteLine(analysisResult.TextAngle.Value); foreach(var item in analysisResult.Regions) { foreach(var line in item.Lines) { foreach(var word in line.Words) { Console.WriteLine(word.Text); } } } } Console.ReadLine(); }
結果
下記の画像を今回は使いました。
画像を読み込むとこんな感じになりました。
まとめ
OCRもめちゃくちゃ簡単に実装できました。
アクセス数とかネットワーク越しの処理によるレスポンスタイムとかいろいろ面倒な部分もありますが、OCRを簡単に組み込めるというのはかなり大きいかなと思います。
英語はそこそこの精度が出ますが正直日本語とかはまだ微妙なので今後に期待です。
使ったら使うだけ中の人が正解データと紐づけとかやってくれてるんですかね