Ce projet était l’un des projets scolaires pour l’EPITA. Nous devions créer une application en C pour résoudre des grilles de sudoku. Cependant, le défi n’était pas de calculer la solution mais d’extraire les informations de la grille à partir d’une image. Nous n’avions pas le droit d’utiliser de bibliothèque externe, nous devions donc tout coder de zéro.
J’étais en charge du traitement de l’image : trouver les bords, détecter la grille et extraire une image à plat. C’était une partie très difficile car une image peut avoir du bruit, être floue ou avoir un mauvais contraste et la grille peut être tournée, inclinée ou avoir une perspective. Pour tout cela, j’ai dû implémenter un détecteur de bords de Canny, une transformée de Hough et une correction de perspective. C’était beaucoup de réflexion, beaucoup de maths et beaucoup d’essais (j’ai adoré ça !). Au final, mes coéquipiers étaient assez inactifs et ont limité leur action à l’interface. J’ai donc aussi dû travailler sur le réseau de neurones chargé de reconnaître les chiffres. Même sans aucune bibliothèque, la tâche était plus facile que je ne le pensais mais j’ai trouvé fascinant ce que peut faire un peu de maths.