チェスピースに貼り付けたArUcoマーカーをカメラで読み取り、棋譜を自動記録するWebアプリケーションです。
- マーカー検出: チェスピースに貼り付けたArUcoマーカーをリアルタイムで検出
- マーカー生成: チェスピース用のArUcoマーカーを生成・印刷可能
- リアルタイム表示: 検出されたマーカーのIDと位置情報をリアルタイムで表示
auto-pgn/
├── index.html # メインのマーカー検出画面
├── marker-generator.html # マーカー生成ツール
├── script.js # マーカー検出ロジック
├── style.css # スタイルシート
└── README.md # このファイル
marker-generator.htmlをブラウザで開く- チェスピース用にID 0-31のマーカーが自動生成されます
- 推奨: ID 0-15を白のピース用、ID 16-31を黒のピース用
- 各マーカーの「ダウンロード」ボタンをクリックして画像を保存
- マーカーを印刷し、適切なサイズに切り取る
- 各チェスピースに対応するマーカーを貼り付ける
index.htmlをブラウザで開く- 「カメラ起動」ボタンをクリック
- カメラへのアクセスを許可
- チェスピースをカメラに向ける
- 検出されたマーカーの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