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
Metadata
Release files for mk8dx-table-reader 0.6.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mk8dx_table_reader-0.6.5.tar.gz | 22.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mk8dx_table_reader-0.6.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.5 MB
Release files / mk8dx_table_reader-0.6.5.tar.gz
| Download URL | mk8dx_table_reader-0.6.5.tar.gz |
|---|---|
| Size | 22.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c79780ca2ae1d302eb9d36b74aacf30c693a15c4cf4d16040aebc34b3c180313
|
|
BLAKE2b-256 checksum How to use checksums |
cf1768779e9f78c6f617d1e1391bfde62648e904f073ff7ff747b915343d28f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.13
|
Release files / mk8dx_table_reader-0.6.5-py3-none-any.whl
| Download URL | mk8dx_table_reader-0.6.5-py3-none-any.whl |
|---|---|
| Size | 22.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e6c00d14d209ec6ae6eb8da8813269e1ddd3ebd5f9e1718ff2f830e40d69aef
|
|
BLAKE2b-256 checksum How to use checksums |
dba15b326e5d57fd408030a48e7c0c012b29e4cadfcb7ada0fc000735771ff38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.13
|