特定のアプリケーションウィンドウを定期的に監視し、画面の状態が指定した特徴(テンプレート画像)と一致した場合にアラームを鳴らすWindowsアプリケーションです。複数のテンプレート画像を登録でき、いずれかがマッチした場合にアラームが発動します。
- ウィンドウ監視: 実行中のウィンドウ一覧から監視対象を選択してキャプチャします。バックグラウンド(非アクティブ)の状態でもウィンドウが最小化されていなければキャプチャ可能です。
- 定期実行: 指定した間隔(秒)で定期的にチェックを行います。
- 複数テンプレート対応: 複数のテンプレート画像を登録可能です。Add/Removeボタンで追加・削除できます。
- テンプレートマッチング: 登録した各画像が監視対象ウィンドウ内に存在するかを判定します(OpenCV使用)。
- スコア表示: テンプレートごとの一致率(スコア 0.0~1.0)をリアルタイムで表示し、しきい値(デフォルト0.8)を超えると赤字でお知らせします。
- しきい値設定: マッチ判定のしきい値(Threshold)を 0.0~1.0 の範囲で自由に設定可能です。全テンプレート共通です。
- アラーム条件: いずれか1つのテンプレートがしきい値を超えた時点でアラームが発動します。
- 通知音: マッチした場合に通知音を再生します。
- カスタマイズ:
wavフォルダに.wavファイルを入れることで、好きな通知音を選択可能です。 - プレビュー: 設定画面で通知音のテスト再生が可能です。
- アプリケーション右上の
Preview >>ボタンでサイドバーを展開できます。 - Latest Capture: 直近にキャプチャされたウィンドウ画像を表示。
- Scores: テンプレートごとのマッチングスコアを一覧表示(しきい値超は赤字)。
- プレビュー画面の開閉により、ウィンドウサイズが自動的に調整されます。
- Windows 10/11
- Python 3.12+
# 仮想環境の作成と有効化 (推奨)
python -m venv venv
venv\Scripts\activate
# 依存ライブラリのインストール
pip install -r requirements.txt同梱のスクリプトを実行することで、配布用の実行ファイルを作成できます。
# Windows
build_exe.bat
# WSL
./build_exe.sh生成物は dist/CompareCapture_Dist/ フォルダに出力されます。
- アプリケーションを起動します(
CompareCapture.exeまたはStart_App.bat)。 - Monitoring Target:
- Select Window: 監視したいウィンドウを選択します。リストにない場合は
Refreshを押してください。 - Templates:
Addから、検知したい状態のスクリーンショット(一部切り抜き)を選択します。複数登録可能です。不要なテンプレートは選択してRemoveで削除できます。
- Select Window: 監視したいウィンドウを選択します。リストにない場合は
- Settings:
- Check Interval: 監視間隔(秒)。
- Max Saved Images: 一時保存する画像の最大保持数(
tmp/フォルダ)。 - Threshold: 検知判定とするスコアのしきい値(0.0~1.0)。
- Alarm Sound: 通知音を選択。
▶ボタンで試聴できます。
- コントロール:
Start Monitoringで監視を開始します。- マッチするとアラームが鳴り、ログに
MATCH FOUND!と表示されます。
- マッチングロジック:
cv2.matchTemplate (TM_CCOEFF_NORMED) - 設定保存: 終了時に
config.jsonに設定内容が自動保存され、次回起動時に復元されます。 - 一時ファイル: キャプチャ画像は
tmp/フォルダに保存され、設定した枚数を超えると古いものから自動削除されます。
- 効果音: 音の葉