トレジャーハントアプリ

2018-05-28 (月) 20:20:27
お名前:

これはなに?

毎年恒例、製錬祭に併設される「トレジャーハント」のあれ。
Webサービスはあちこちにありますけど、「画面見て、それをタイピング」って面倒くさくないですか?

なにかうまい手がないかと考えていたのですが、Wiz的イベントと違ってチャット文字列にならないので、チャットテキストから拾うことができませんでした。
そこで思い切って、ROの画像から直接文字認識してみます。

トレジャーハントだけじゃなく、これもときどき発生する「数字計算」にも対応しています。

▼お約束的な。

百聞は一見に如かず。

起動するじゃろ。
起動画面

「OCR位置」タブで「移動」「サイズ変更」を選ぶじゃろ。
認識位置設定画面

PC全体画面の左上あたりに「グレーの半透明ウィンドウ」ができるから、それを「移動」&「サイズ変更」して、ROクライアントの「認識したい位置」に重ねるじゃろ。

#これは最初に一度やったら「ロック」して、もう動かさなくていいぞ。
こんな感じでもやっと重ねて。 トレジャーハントでは2行分しっかり。

そしたらアプリの「暗号解読」画面で「読取」すれば、答え一発じゃ!
ドーン!

で、OCRは精度問題もあるので。

  • 読み取り範囲は「少し大きめに余白とる」感じにするのがいいです。
  • 読み取り失敗しても、何度か「読取」すると拾えたりすることもあります。
    • 汚れやつぶれに対応するために、内部的に OCR前の画像に多少の変動を与えるようにしているためです。
  • アプリのテキスト表示部分は、直接入力・編集できます。
    入力後「修正」ボタンを押せば、画像読み取りせずにテキストエリアの入力値から直接解析します。
    (Webアプリでよくあるものと同じ感覚で使える、ってことです)

ダウンロード

本プログラムのOCRには、Windows標準でサポートされている Windows.Media.Ocr を利用しています。
これはCPUによってライブラリが異なるため、それに合わせたモジュールが必要です。

32bit版は現状対応していません。

Ver1.05での変更点

  • 認識に失敗した場合に、内部的に数回リトライする仕組みを組み込みました。これにより、ユーザが「認識失敗/No match.」を見る確率が低下しています。
  • 「ぬふあうえ」アルゴリズムにおいて、OCR結果に「ゅ」のような小さい文字が含まれている場合に、それを「ゆ」のような大きな文字と同じように解釈するメカニズムの追加。
  • 「ぬふあうえ」アルゴリズムにおいて、2行目以降のガイダンスに含まれている「ぬふあうえ」を認識してしまった場合にもそれを(ある程度)破棄できるように変更。
  • 地図座標の最大値を設定することで、その範囲を飛び出してしまうような判定結果を「失敗」として扱う処理追加。
    • Optionタグ内にサイズ指定があるので、任意に設定してください。
      2018年度の場合400x400 にしておけばよいです。

Ver1.04での変更点

  • OCRエンジンの初期化におけるエラー処理の強化
  • 新規インストール時、mapdataディレクトリの作成に失敗していた点の修正
  • OCR判定の順番変更。猫顔文字・ローマ数字を優先するようにしました。
    • これは暫定仕様です。

Ver1.03での変更点

  • 2018年度トレジャーハント用の「猫顔」暗号用のプラグイン追加。
  • ROの表示に合わせて、OCR処理のカスタマイズ実施

Ver1.02での変更点

  • CA連携機能実装

Ver1.01 での変更点

  • OCRした結果や四則演算結果を、クリップボードに出力するオプションを追加しました。
    • これによって例えば「スタンプラリーでの計算」に対して『ROTRの認識ボタンを押す』→『ROクライアントの入力エリアにカーソルを合わせて Shift+Insert』で回答できます。

ご意見などがあれば。


お名前:

お名前: