WinAutomationからCongnitive OCRを試す

##概要
　WinAutomationのCongnitiveアクションにより比較的手軽にCongnitiveサービスを試すことができます。そこでMicorosoft Azure Computer VisionとGoogle Cloud Platform Vision APIを試してみます。

注意　
WinAutomationはPowerAutomate per user plan with attended RPAプランに含まれています。
WinAutomationについては[@nakaamino](https://qiita.com/nakaamino)様の[記事](https://qiita.com/nakaamino/items/3ad7a777dadf7056d36f)に詳しく紹介されています。
執筆は2020年8月16日時点のものであり、こうした技術は日進月歩のため現時点での優位性に意味はないか参考程度と考えます。この記事はあくまでもWinAutomationの使用方法の模索を意図しています。

## WinAutomationからMicorosoft Azure Computer Visionを使用

### APIキー取得とエンドポイントの確認
今回はComputer Vision APIの試用版キーを用いている
取得方法についてはWEBに沢山の情報があるのでここでは言及しない
取得出来たエンドポイントとAPIキーをメモする
![コメント 2020-08-16 125420.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/3f59c94f-9c21-4640-7998-cc0d90cb741f.jpeg)

### WinAutomatioのProcess作成  その1
画像ファイルの選択しComputer Visionに投げて、返ってきたjsonを同フォルダに選択画像と同ファイル名+azure.jsonで保存
実際はjsonを保存する必要はないが後で色々調べたいので保存している
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/d0c5e6fd-f535-d615-473c-a1dcfc21762c.png)　　
![コメント 2020-08-16 130832.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/50eeb343-8e1d-f4c8-34f5-9603f0c4b176.jpeg)
####OCRアクションの内容
* Server Locationにメモしたエンドポイントのサーバ名を選択
* SubscriptionにメモしたAPIキー１を記入
* Languageは空欄でサポートされた言語なら自動選択される
* Detect Orientation trueにした場合、画像の文字が下向いていたら向きの修正


### WinAutomatioのProcess作成 その２
取得したjsonからテキストを生成する
返ってきたjsonを覗くと以下のようになっている
![コメント 2020-08-16 132512.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/87544869-c7a6-46f2-4e54-14463e070f2c.jpeg)

そのためテキストを抜き出し、結合、読み込んだ画像と同じように段落分け処理が必要になる
以下にそのプロセスを示す
jsonから抜き出したtextをリストに入れて段落ごとに改行コードを追加
Listを結合した後、改行コードでもう一度分割しテキストファイルに書き込む
![1566.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/beac471c-f84d-0a62-cec4-d8f254c42427.jpeg)

もっとスマートな方法があるかもしれないがご容赦を
## WinAutomationからGoogle Cloud Platform Vision APIを使用
### APIキー取得
Google Cloud Platform Vision APIを起動させてAPIキーを取得しメモする
今回は試用でキーを取得している
取得方法についてはWEBに沢山の情報があるのでここでは言及しない
![コメント 2020-08-16 150219.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/092bea5f-8f2f-ef3c-204d-7266a7c3cb8a.jpeg)
### WinAutomatioのProcess作成  その1
画像ファイルの選択しVision APIに投げて、帰ってきたjsonを同フォルダに選択画像と同ファイル名+google.jsonで保存する
実際はjsonを保存する必要はないが後で色々調べたいので保存するようにしている
![コメント 2020-08-16 150630.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/44cbbb43-2e54-92ca-4114-53e623624054.jpeg)
![コメント 2020-08-16 151453.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/b3263a87-8c39-8fc1-6577-1d1a73a1b7cc.jpeg)
#### Text Detectionの内容
APIキーを貼るだけ
### WinAutomatioのProcess作成 その２
取得したjsonからテキストを生成する
返ってきたjsonを覗くと以下のようになっている
![コメント 2020-08-16 152949.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/90329144-ed13-2cb0-2e54-f737c5954783.jpeg)
改行コード付きで文章が入っていたのでそのままテキストに保存のみ
![コメント 2020-08-16 153140.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/2eaa5d0d-f1ac-2b98-efda-82d451ce3538.jpeg)

## お試し

####test1.png
size1980*1080
![test1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/7b6b120b-7f53-8900-011a-395700fb1a6c.png)
Computer Vision
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/ae2ff477-e0b9-4915-05e9-a6f48db677d6.png)

Vision API
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/041d5dbd-f764-569f-6bd1-6c5b71cd9682.png)
####test2.png
size1980*1080
![test2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/18d2950d-494a-09c8-ad40-6c4c528140b1.png)

Computer Vision
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/b2189099-4545-a0f7-3832-5467362e7408.png)
Vision API
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680039/18b38658-8354-28ad-eb21-b7e9bc04ebe3.png)
##まとめ
読み取り結果については言及しません。
WinAutomationから比較的手軽にCongnitiveサービスが利用できることが伝わればと思います。
実務で即と言われるとまだ厳しい部分もあるかもしれませんが、工夫次第とも思いますし、
すぐそこまで来てると感じられました。

私は非エンジニアでこうしたサービスを利用させていただいている立場です。
作っていただいているエンジニアの方に尊敬と感謝の念を抱きます。