A package to extract player names and scores from MK8DX tables using YOLO and ONNX-based EasyOCR.
Project description
MK8DX Table Reader
A Python package to extract player names and scores from Mario Kart 8 Deluxe end-game tables using YOLO object detection and ONNX-based EasyOCR.
Installation
Option 1: Lightweight ONNX Version (Recommended)
# Install the package (without heavy PyTorch dependencies)
pip install mk8dx-table-reader
# Download ONNX EasyOCR models (~17 MB)
python download_easyocr_models.py
Total size: ~50 MB
Option 2: PyTorch Version (Fallback)
# Install with PyTorch-based EasyOCR
pip install mk8dx-table-reader[pytorch-ocr]
Total size: ~2 GB
Features
- Extract player names from MK8DX end-game screenshots
- Read scores and positions from tables
- Uses YOLO for object detection
- NEW: ONNX-based EasyOCR for lightweight inference (3-4x faster, 97% smaller)
- Fallback to PyTorch EasyOCR if ONNX models not available
- OCR powered by optimized ONNX models and Keras models
Requirements
Core Requirements
- Python >= 3.11.11
- OpenCV
- ONNXRuntime
- Ultralytics YOLO
- NumPy
- Pillow
Optional Requirements
- EasyOCR (PyTorch-based, only if not using ONNX models)
Usage
from mk8dx_table_reader import Fullreader
import PIL
# Initialize reader (automatically uses ONNX if models are available)
reader = Fullreader()
# Load an image
img = PIL.Image.open("screenshot.png")
# Extract player names and scores
names, scores = reader.fullOCR(img)
print("Players:", names)
print("Scores:", scores)
ONNX EasyOCR Benefits
| Feature | PyTorch EasyOCR | ONNX EasyOCR |
|---|---|---|
| Package Size | ~2 GB | ~17 MB |
| Inference Speed | Baseline | 3-4x faster |
| Memory Usage | ~2 GB RAM | ~50 MB RAM |
| Accuracy | 100% | >95% |
See EASYOCR_ONNX_GUIDE.md for more details.
License
See LICENSE.md for details.
Author
Julien ABADIE - julien.abadie@etu.uca.fr
GitHub
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mk8dx_table_reader-0.6.5.tar.gz.
File metadata
- Download URL: mk8dx_table_reader-0.6.5.tar.gz
- Upload date:
- Size: 22.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c79780ca2ae1d302eb9d36b74aacf30c693a15c4cf4d16040aebc34b3c180313
|
|
| MD5 |
f780b4768b6b1c6e06f1459edec66a35
|
|
| BLAKE2b-256 |
cf1768779e9f78c6f617d1e1391bfde62648e904f073ff7ff747b915343d28f8
|
File details
Details for the file mk8dx_table_reader-0.6.5-py3-none-any.whl.
File metadata
- Download URL: mk8dx_table_reader-0.6.5-py3-none-any.whl
- Upload date:
- Size: 22.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e6c00d14d209ec6ae6eb8da8813269e1ddd3ebd5f9e1718ff2f830e40d69aef
|
|
| MD5 |
a6f62e8bff3a05423634c00a71b0eadc
|
|
| BLAKE2b-256 |
dba15b326e5d57fd408030a48e7c0c012b29e4cadfcb7ada0fc000735771ff38
|