--- 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.