#はじめに
ある日、プロジェクトでOCRの技術検証をしていました。
いつもの如く、あんまりドキュメントないなーと思ったのでここに記します。
内容としては、Google Cloud Vision OCRの簡単な使い方になります。
既存のDEMOアプリがベースになります。
#想定読者
OutsystemsでOCR使おっかなーって思っている方
Google Vision APIってどうなの?と思っている方
#事前準備
■Forgeから下記モジュールをDL
https://www.outsystems.com/forge/component-overview/1572/googlecloudvisionocr
※ちなみにDLしなくても、「Try Now」ボタンを押下することでWEB上でOCRの検証はできるようになってます。
■Google Vision APIのAPIキーを取得
こちらに詳しくまとめてありました。
Google Cloud Vision APIで文字認識を試してみる
#できること
Google Vision APIにはいろいろOCRの機能がありますが、このForgeは文字識別のみ対応しています。
今回は文字認識の中でも、下記2つを使ってみました。
※デフォルトは、「TEXT_DETECTION」でした。
その他の機能はこちらをご確認ください。
https://cloud.google.com/vision/pricing?hl=ja
###③Processボタンを押下して、結果を取得
まぁそこそこ取得できている:D
###④DOCUMENT_TEXT_DETECTIONに変えてテスト
helper.csのtypeを「TEXT_DETECTION」を「DOCUMENT_TEXT_DETECTION」に修正してPublish。
var feature = new Feature { Type = "DOCUMENT_TEXT_DETECTION" };
・・・・・しかし、結果はTEXT_DETECTIONと変わらず
免許書の写真とかでやってみたら、わずかに差はありました。
###⑥上記の取得した値をフォームなどに自動でセットしたい場合
戻り値はTEXT型で返していました。
DEMOアプリを見ると、Extension側の「GetDateAndAmountRegex」アクションでゴリゴリ↑の戻り値をトリムしていました。
なので、そのトリムした値を画面上でセットする流れになります。
※Outsystems側でトリムしてもいけるとは思いますが。
私はこれから、「GetDateAndAmountRegex」アクションを参考にして、トリム処理を拡張していこうと思います。
#終わりに
Google Cloud Vision APIの他の機能もForgeで対応してほしい(切実)
精度は思ったほどではなかったですが、使いようによっては使えるかなレベル..