ログをとるために生きている

だって楽しいんだもん。

iOSのショートカットアプリでリングフィットアドベンチャーのスクショを分類する

やろうと思ったきっかけ

リングフィットアドベンチャーのスクショから運動ログを収集する仕組みを作ったので
過去のスクショ全部処理したいなと思ったけど
処理に関係ないスクショも大量にあるので、自動で分類したかった。
engineer-rumpop.hatenadiary.com

流れ

  • Switch→PC→iPhoneのファイルアプリにファイルを取り込み
  • ショートカットを実行してスクショと動画を下記の通り分類
運動結果(概要) 運動結果(詳細) その他 動画
動画

Switchからスクショ取り込み

SwitchからPCへは、以下の記事の「PCに画面写真や動画を転送」を参照。
topics.nintendo.co.jp

Switch内のスクショはゲームごとにフォルダ分けしてあった。

ショートカットの仕組み

ショートカットの全体像

スクショ分類の仕組み

はじめに拡張子が.jpgではないものは、動画として分類する。

残りは画像ファイルとして、画像の特定の位置に書いてある文字を読み取って分類する。

Switchのスクショは1280×720固定。
このスクショのX座標400、Y座標250の位置から幅300×高さ400で切り取った中に書かれている文字を読み取る。
どういうことかというと、下記写真の緑枠の部分の文字を読み取るということ。

運動結果(概要) 運動結果(詳細) その他
切り取り部分


そうすると、運動結果の合計活動時間などが書かれているスクショの場合、「合計活動時間」という文字が
各フィットスキルの回数などが書かれているスクショでは、「開始から」という文字が
必ず緑枠内に入ってくる。

iOSのショートカットでは写真からテキスト抽出ができるので
これを使って写真を分類していく。

前述の仕組みでスクショを識別して、指定したフォルダに移動させる流れ。

ショートカットを実行するとすぐに分類が始まる。

実際に動いてるところ

324ファイルを2分10秒で処理できた。



ショートカットのリンク

もしこの記事を読んで使ってみたいと思う方がいたら、こちらからどうぞ。
www.icloud.com


分類前のスクショだけを入れたフォルダと、分類後の保存先フォルダ4つをあらかじめ準備しておいてください。
最初に数ファイルくらいでちゃんと動くことを確認してから、一気に処理することをおすすめします。

最後に

この仕組みはほんといろいろ応用できそう。
簡単な画像識別が手元のデバイスで出来るのが楽しい。