Skip to content

Repository files navigation

チェス棋譜自動記録システム - マーカー読み取り機能

チェスピースに貼り付けたArUcoマーカーをカメラで読み取り、棋譜を自動記録するWebアプリケーションです。

機能

  • マーカー検出: チェスピースに貼り付けたArUcoマーカーをリアルタイムで検出
  • マーカー生成: チェスピース用のArUcoマーカーを生成・印刷可能
  • リアルタイム表示: 検出されたマーカーのIDと位置情報をリアルタイムで表示

ファイル構成

auto-pgn/
├── index.html              # メインのマーカー検出画面
├── marker-generator.html   # マーカー生成ツール
├── script.js              # マーカー検出ロジック
├── style.css              # スタイルシート
└── README.md              # このファイル

使い方

1. マーカーの準備

  1. marker-generator.html をブラウザで開く
  2. チェスピース用にID 0-31のマーカーが自動生成されます
    • 推奨: ID 0-15を白のピース用、ID 16-31を黒のピース用
  3. 各マーカーの「ダウンロード」ボタンをクリックして画像を保存
  4. マーカーを印刷し、適切なサイズに切り取る
  5. 各チェスピースに対応するマーカーを貼り付ける

2. マーカーの検出

  1. index.html をブラウザで開く
  2. 「カメラ起動」ボタンをクリック
  3. カメラへのアクセスを許可
  4. チェスピースをカメラに向ける
  5. 検出されたマーカーのID・位置が画面に表示されます

技術仕様

  • マーカー形式: ArUco (DICT_4X4_50辞書)
  • 利用可能なID範囲: 0-49
  • 検出ライブラリ: OpenCV.js 4.8.0
  • カメラアクセス: WebRTC getUserMedia API

ブラウザ要件

  • WebRTC対応ブラウザ(Chrome, Firefox, Safari等)
  • カメラアクセス権限
  • HTTPS接続推奨(ローカルホストでは不要)

チェスピースとマーカーの対応例

ID範囲 ピース例
0-7 ポーン×8
8-9 ルーク×2
10-11 ナイト×2
12-13 ビショップ×2
14 クイーン
15 キング
16-23 ポーン×8
24-25 ルーク×2
26-27 ナイト×2
28-29 ビショップ×2
30 クイーン
31 キング

トラブルシューティング

カメラが起動しない

  • ブラウザのカメラアクセス権限を確認
  • HTTPSで接続しているか確認(ローカルホスト以外)
  • 他のアプリがカメラを使用していないか確認

マーカーが検出されない

  • マーカーの印刷品質を確認
  • 照明条件を改善(明るすぎ・暗すぎに注意)
  • マーカーとカメラの距離を調整
  • マーカーが平面に配置されているか確認

今後の拡張予定

  • チェスボードの盤面認識
  • マーカー位置からマス目の特定
  • 手の移動の記録
  • PGN形式での棋譜出力
  • 棋譜の保存・読み込み機能

ライセンス

MIT License

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages