Python×医療事務(×トロント)

#医療 / #医療事務 / #IT / #トロント / #歯科助手 / #のんびり / #備忘録 / #趣味

Google Cloud Platform  APIを使いOCR

Google Cloud Platformにアクセス

「無料トライアル」⇢Googleのアカウントでログイン⇢情報を入力⇢「同意して続行」⇢情報の入力

(このときにクレジット情報を求められる。住所や名前は適当に現存しないものでも認証される。しかし、クレジット情報はきちんと入力しないと次に進めない)

やむなくクレジット情報入力し登録。従量課金制と書いているのでビクビクしながらも登録

「無料トライアルを開始」

上の検索枠にてCloud Vision APIとCloud Natural Language を検索

f:id:chocolate22554:20210312211810p:plain

              ↓

f:id:chocolate22554:20210312211851p:plain

 

               ↓

f:id:chocolate22554:20210312211918p:plain

「有効にする」を選択  Natural Language APIも。

 

 

APIキーを取得

APIとサービス→認証情報

f:id:chocolate22554:20210312212109p:plain

→認証情報を作成→APIキーを選択

f:id:chocolate22554:20210312212150p:plain

         ↓

         ↓

f:id:chocolate22554:20210312212246p:plain

VisionAPI=画像内容を理解=画像分類、顔認識、テキストの検出Natural Language API=感情分析、カテゴリごとに分類し意味づけ

 

 

 

テキストエディタで下記コードを実装

import base64
import requests
import json

def ocr(image_file, api_key=""):
with open(image_file, 'rb') as image:
base64_image = base64.b64encode(image.read()).decode()

 

#<ocr関数内部で、受け取った画像ファイルを読み込み、base64エンコードを行っている>

url = 'https://vision.googleapis.com/v1/images:annotate?key={}'.format(api_key)
header = {'Content-Type': 'application/json'}
body = {
'requests': [{
'image': {
'content': base64_image,
},
'features': [{
'type': 'TEXT_DETECTION',
'maxResults': 1,
}]

}]
}

 

#変数body=パラメータを設定。'type'⇢TEXT_DETECTIONに。OCR(光学文字認識)以外にも、顔検出やラベル検出、不適切コンテンツ検出など可能。


response = requests.post(url, headers=header, json=body).json()
# jsonで吐き出し response
# fw = open('vision_response.json','w')
# json.dump(response,fw,indent=4)  #JSON形式にエンコード

APIキーとヘッダ情報を付与して、POSTでAPIを実行(リクエスト)

# print("responseの値は?" + str(response))  
text = response['responses'][0]['textAnnotations'][0]['description'] if len(response['responses'][0]) > 0 else ''
print("textの値は?" + str(text))
return text

# imgの画像ファイルのあるPATH↓
img = "/Users/Desktop/ocr/test.png"
key = "ここにGoogle Cloud PlatformのKeyを貼り付け"
data = ocr(img, key)
print(data)

 

今回は下記画像を 「img」と命名

f:id:chocolate22554:20210314103002p:plain

 

コマンドにて img画像と上記コードを記載したテキストがあるファイルに移動

f:id:chocolate22554:20210314103320p:plain

 

python  テキスト名(ここではAPIS)で実行

上手く読み取れた模様

f:id:chocolate22554:20210314103427p:plain

時々同じような手順でもPC開きっぱなしだと反応しないことがあるので再起動したところ出来た