Heroes of the Storm のスクリーンショットのプレイヤー名をぼかすプログラム作成

ブログ記事を書くときに、スクリーンショットのプレイヤー名にボカシを入れる処理を、毎回やるのが面倒そうなので、そういうプログラムを作ってみました。

方針

引数でスクリーンショットの画像ファイルを渡すと、プレイヤー名の位置にボカシを入れた画像ファイルを生成することにします。

実装

OpenCV の matchTemplate() を使って、用意した体力フレーム画像とマッチングを行います。
具体的には、赤青それぞれのチームの以下のような画像をゲーム中の画像から切り抜いて用意しました。 jpg 画像から切り抜いたせいか、微妙に各チームの色味があるのがわかります。

blue_frame red_frame

ソースコードの処理概要は、引数で渡された画像を読み込み、枠のテンプレート画像とのマッチングを順番に行っていることくらいです。 難しくないです。

ソースコードへのリンク

動作例

hots_training_clipped hots_training_clipped.png.masked

このくらいの重なりぐらいなら、適切に処理できます。
(名前でない場所にボカシを入れたり、名前のある箇所を検出できなかったりすることもあります)

ソースコードの場所

下記アドレスで Mercurial 管理しています。
https://bitbucket.org/satofumi/hots_tools

今後の予定

もう少し自分で使ってから、Windows 版を作成して配布します。(使ってみたい方は、お知らせ下さい。大喜びでお渡しします)
あとは、このプログラムとは別ですが、ゲーム中の視線を記録してミニマップを見るよう矯正したり、脈拍を計測して自分にどういう影響があるかを可視化するプログラムも作っていきたいと思っています。