36 lines
2.4 KiB
Markdown
36 lines
2.4 KiB
Markdown
---
|
||
name: project-overview
|
||
description: Общий обзор проекта — покер-анализатор для GGPoker через вебкамеру
|
||
metadata:
|
||
type: project
|
||
---
|
||
|
||
Проект — покер-анализатор: вебкамера снимает монитор с GGPoker, Python распознаёт карты и считает equity.
|
||
|
||
**Файлы:**
|
||
- `main.py` — просмотр webcam (чистое окно WINDOW_GUI_NORMAL, закрытие крестиком/ESC)
|
||
- `analyzer.py` — основной анализатор: 2 окна (Webcam с рамками зон + Info с текстом)
|
||
- `calibrate.py` — ручная калибровка зон мышью (перетаскивать рамки, S=сохранить)
|
||
- `calibration.json` — координаты зон 1920×1080: board_card_1-5, hero_card_1-2, player_0-7
|
||
- `settings.json` — только resolution_idx=2 (камера на автоматике, без ручных настроек)
|
||
- `templates/` — rank_2..rank_A.png (13), suit_c/d/h/s.png (4), 2c..As.png (52 full-card)
|
||
- `files/` — clubs/diamants/hards/spades.png (GGPoker стиль), D.png (дилер), numbers_ranks.png
|
||
- `virtualbox/` — заглушка модуля для dickreuter_poker
|
||
- `tmp/` — временные файлы (чистить после работы)
|
||
|
||
**Распознавание карт:**
|
||
- Ранг: OCR через Tesseract на большой цифре в нижней части зоны
|
||
- Масть: shape-matching по шаблонам suit_*.png из numbers_ranks.png, fallback на HSV цвет
|
||
- Шаблоны создаются venv python (system python пишет файлы недоступные venv!)
|
||
- Всегда создавать шаблоны через: `/home/isaevea/python/pp/.venv/bin/python`
|
||
|
||
**Статус (2026-06-17):**
|
||
- Борд карты: распознаются хорошо (K♥ Q♦ 9♥ J♣ и т.д.)
|
||
- Hero карты: распознаются если видны (10♦ 9♦)
|
||
- Дилерская кнопка: template matching через D.png
|
||
- Monte Carlo equity: работает через dickreuter montecarlo_numpy2
|
||
|
||
**Why:** Пользователь анализирует покерные видео/игры в реальном времени.
|
||
|
||
**How to apply:** tmp/ для всех временных файлов; шаблоны создавать через venv python.
|