Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔍 OCR Word Search Solver — Projet S3 EPITA

Application de résolution automatique de grilles de mots mêlés à partir d'une image.

Pipeline : rotation → prétraitement → découpage → OCR (réseau de neurones) → résolution → reconstruction visuelle.


⚙️ Prérequis

macOS

brew install sdl2 sdl2_image sdl2_ttf

Ubuntu / Debian

sudo apt-get install -y gcc make libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev zenity

Arch Linux

sudo pacman -S gcc make sdl2 sdl2_image sdl2_ttf zenity

🔨 Compilation & Lancement

Depuis la racine du projet :

# Compiler tout le projet (tous les modules d'un coup)
make

# Compiler et lancer directement
make run

# Nettoyer tous les fichiers compilés
make clean

C'est tout ! Le Makefile compile automatiquement les 7 modules dans le bon ordre : Rotation → Prétraitement → Découpe → Réseau de neurones → Solver → Résultat → UI

Lancement manuel

cd UI

# Avec une image de test
./ui ../images/level_1_image_1.png

# Sans argument (charger via le bouton LOAD IMAGE)
./ui

⚠️ L'exécutable ui doit être lancé depuis le dossier UI/ pour que les chemins vers les autres modules fonctionnent.


🖥️ Utilisation

Pipeline (boutons de gauche, dans l'ordre)

# Bouton Action
1 LOAD IMAGE Charger une image (dialogue natif)
2 AUTO ROTATE Corriger l'inclinaison automatiquement
3 PREPROCESS Binariser et nettoyer l'image
4 SEGMENT Découper les lettres de la grille et des mots
5 OCR RECOGNITION Reconnaître les lettres (réseau de neurones)
6 SOLVE GRID Trouver les mots dans la grille
7 SHOW RESULT Afficher la grille résolue avec les mots surlignés
8 SAVE RESULT Sauvegarder le résultat

Rotation manuelle

Le bouton MANUAL ROTATE active des sous-boutons : -15°, -1°, RESET, +1°, +15°, APPLY.

Raccourcis clavier

Touche Action
Molette Zoom avant/arrière
Clic + glisser Déplacer l'image
R Réinitialiser la vue
F Plein écran
Échap Quitter

📁 Structure du projet

S3-Project/
├── makefile              ← Compile tout le projet en une commande
├── UI/                   ← Interface graphique (SDL2)
├── Rotation/             ← Rotation automatique
├── Pretraitement/        ← Binarisation / nettoyage
├── Decoupe/              ← Segmentation grille + mots
├── Reseau_neurones/      ← OCR par réseau de neurones
├── Solver/               ← Recherche de mots dans la grille
├── Resultat/             ← Reconstruction visuelle
└── images/               ← Images de test

🐛 Dépannage

Problème Solution
sdl2-config: command not found Installer SDL2 (voir Prérequis)
Police non trouvée Vérifier que UI/resources/fonts/Roboto-Regular.ttf existe
Module "not found" au clic Le module n'est pas compilé → relancer make à la racine
SHOW RESULT ne marche pas Vérifier que Resultat/font.ttf existe et que toutes les étapes précédentes ont été exécutées
Crash au chargement Lancer avec le chemin en argument : ./ui "../images/level_1_image_1.png"

📋 Dépendances

Bibliothèque Usage
SDL2 Fenêtrage, rendu
SDL2_image Chargement PNG/JPG
SDL2_ttf Rendu de texte
GCC + Make Compilation

About

An Optical Character Recognition (OCR) application in C to solve word search puzzles.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages