みなさん、ポケモンカードはお持ちですか?
今回は、ポケモンカードのキャプチャ画像から、GoogleのAIでテキストを読み取り、CSV出力する方法を解説します。
具体的には、GoogleのVision APIを使用して実現できます。
ポケモンカードのキャプチャ画像を、AIでCSVファイルにするには
入力画像・テキスト検出結果
次のピカチュウのカードのテキストを、AIで読み取って、CSVファイルにします。
1枚目がキャプチャ画像、2枚目がVision APIでテキスト検出(OCR)した結果の画像です。
Pythonサンプル
以下は、キャプチャ画像からテキスト検出し、CSVファイルに出力するPythonサンプルです。
from google.cloud import vision
from google.oauth2 import service_account
import io
# 身元証明書のjson読み込み
credentials = service_account.Credentials.from_service_account_file('key.json')
client = vision.ImageAnnotatorClient(credentials=credentials)
# ローカル画像を読み込み、imageオブジェクト作成
with io.open("./naminori.jpg", 'rb') as image_file:
content = image_file.read()
image = vision.Image(content=content)
# Cloud Vision APIにアクセスして、テキスト検出結果を受け取る
response = client.text_detection(image=image)
text = response.text_annotations[0].description
# CSVファイルへ出力
with open('output.csv', 'w', encoding="utf_8_sig") as f:
f.write(text.replace( '\n' , ',' ))
キャプチャ画像をVision APIに渡し、テキスト検出結果を受け取ります。
その後、テキスト検出結果の改行コードを、カンマに変換して、output.csvへ出力しています。
上記を実行して、出力されたoutput.csvをエクセルで開くと、次のようになります。
実行結果
output.csv【上記をクリックで拡大】
カードのテキストを、かなり正確に読み取れていますね!
Pythonサンプル使用の前提
・Google Vision APIを有効に初期設定済み
・Google Vision APIのサービスアカウントキーファイル(json)を、自分のPCにダウンロード済み
上記の準備の上、ご使用ください。
まとめ
GoogleのVision APIを使って、ポケモンカードのキャプチャ画像からテキストを読み取り、CSVファイルにする方法を解説しました。
さらに、複数のキャプチャ画像を一度にCSVファイル化できるようにすると、より便利になりそうですね。
ここまで読んでいただき、ありがとうございます。
また、お会いしましょう。
ポケモンカードについて: ©2021 Pokémon/Nintendo/Creatures/GAME FREAK.