ポケモンカードのテキストを、AIで読み取ってCSVファイルにするには【Vision API】

みなさん、ポケモンカードはお持ちですか?

今回は、ポケモンカードのキャプチャ画像から、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.