OCRを使ってファン数管理を楽にしたい1日目

0.はじめに

はじめまして。
marimoというHNでいろんなゲームをしています。
今回はウマ娘の話です。

プログラミングはほぼやったことありません。よろしくお願いします。

1.やりたいこと

今回の目標はウマ娘のサークルファン数管理をできるだけ楽にすることです。

現在スプレッドシートで管理しているサークルメンバーのファン数ですが「ゲーム画面を見ながら」、「手打ちで入力」しているので少しめんどくさいです。数字の見間違いによる修正もよくあります。

そこでゲーム画面の文字をコピペできるようにすれば少し楽になるのでは?と考えました。

「何らかの方法でウマ娘のゲーム画面に表示されているテキストをコピーできる媒体に映す」

やっていきましょう。

2.やってみたこと

まず考えたのが画像認識でテキスト部分を抽出してメモ帳などのテキストエディタに表示することです。このことをOCR(光学的文字認識)というらしいです。難しそうですね。

ですがこれ自体はGoogleだけで簡単にできました。

スクショをGoogleドライブに保存してGoogleドキュメントで開くだけです。
詳しくは下記リンクから

実行した結果、文字フォントが特殊な部分や文字が小さい部分は精度が怪しいです。しかし、今回特に欲しい部分である「名前」と「総獲得ファン数」はちゃんと読み取ってくれています。さすがGoogle。

これが数回で済んだらまぁ楽になったなと思うかもしれません。ただサークルメンバーは30人で1つのスクショに収まるのは3人までのため、合計10枚のスクショに対して上の作業を行うことになりそれはそれでめんどくさいですね。

ということでGoogleドライブを用いたOCRは自分の中で緩く却下されました。

3.他の案

Googleドライブの欠点を解決する案を調べて良さそうなのが2つありました。

案1 Pythonでフォルダ管理

Pythonでフォルダ監視と文字情報の受け渡しをしてTesseractでOCRを行うようです。Pythonは聞いたことだけありますがTesseractは初めて聞きました。
スクショするだけでテキスト抽出ができるなら悪くなさそうです。

案2 ツールの作成

皆さんはumaumacruiseというツールをご存じでしょうか。神ツールなのでDMM版をプレイしている方にはおすすめです。

アプリのウィンドウ検出+特定位置の文字をTesseractでOCR→データの出力という感じですかね?
選択肢出力のところをそのままテキスト出力にすることで欲しいものはできそうですが、案1と比べると少し難しそうな感じがします。
umaumacruiseはC+のようですがPythonでも可能なようです。

4.おわりに

案1,2どちらにしてもPythonを使えるようにする必要がありそうです。

というわけで次回
「Python導入してみた」

そして宣伝ですがサークルメンバーを募集しています。

低めのノルマで緩くやっていますので興味がある方は是非お願いします。

おしまい

いいなと思ったら応援しよう!