Пример и принцип работы приложения
- Python 3.7.7
- numpy 1.18.2
- PyQt5 5.14.2
- OpenCV-python 4.2.0.34
- Pandas 1.0.3
- scikit-image 0.17.2
- scikit-learn 0.22.2.post1
Весь список в requirements.txt. Установить одной командой:
pip install -r requirements.txt
- Есть:
- Обрезка доски по внешнему и затем внутреннему контуру
- Подготовка ячеек доски к дальнейшему использованию
- Тренировка и распознавание
- Алгоритм поиска подсказок
- Приложение для десктопа
- Нет:
- Алгоритмы для звёздочки
- Вывод значений найденных слов
Для начала необходимо собрать фотографии доски с фишками,
расставленными по алфавиту следующим образом:
От количества сделанных фотографий будет зависит качество предсказаний модели.
Далее помещаем эти фотографии в одну папку, указываем путь до неё в IMAGES_TO_CUT_PATH и запускаем скрипт. Результат окажется в папке, указанной DATASET_PATH. В CV/scan.py IMG_SIZE настраиват размер фишек для датасета.
Разархивировать датасет в проект. Сейчас используется путь ../ML/dataset. Путь указывается в DATASET_PATH, запускаем и ждём результат(до 3 минут).
Выбор словаря происходит в scrabble_assistant.py DICTIONARY_FILE_PATH Для нарезки словаря на подсловари разных размеров используется функция нарезки prepare_frequency_dictionaries() в preprocessing/dictionary.py В массиве sizes указываются размеры желаемых словарей. Изначальный словарь со всеми существительными лежит в resources/dictionaries/nouns.txt (13877 слов)
В приложении имеются параметры для настройки:
- _hint_amount - кол-во выводимых подсказок (может быть меньше, но не больше указанного значения)
- _asterisk_active - включение/выключение возможности выбрать фишку * (звездочка)
- _console_output - включение/выключение вывода информации в консоль
Для тестирования подготовлен архив. Он расположен в archives/test_images.rar.
Запускаем приложение, загружаем фотографию доски. Выбираем фишки и жмём "Найти". Подсказки будут выведены на изображении игрового поля, рядом с ними указана ценность.