GrayScale
Le grayscale a pour but de transformer l’image en nuance de gris.
Pour cela nous utilisons la recommandation 601 pour les couleurs non linéaires de la Commission Internationnale de l éclairage. En effet cette recommandation est avec la correction du gamma.
Voici donc la formule : Gris = 0.299 * Rouge + 0.587 * Vert + 0.114 * Bleu
ensuite l’image est binarisée avec une binarisation d’Otsu
Binarisation d’Otsu
Detection de la grille
Il faut enfin detecter la grille et les cellules du soddoku. Pour cela il est nécessaire de dilatter la grille. En effet, la binarisation a pour effet de créer des pixels maquants : des trous. Ces derniers empèchent une bonne reconnaissance de la grille.
Dilatation
Detection de la grille
Pour detecter la grille nous utilisons une sorte Labelling connected components
.
Pour résumer, un label va être attribué à tout les groupes de pixels existants. Nous créons donc une grille de la même taille que nous remplissons avec ses valeurs. Ensuite il faut repasser sur la grille pour verifier que deux labels differents ne se touchent pas.
Ensuite il faut trouver le label le plus utilisé pour ne garder que lui, et remplacer les autres par la couleur du background. Comme par magie si l’on affiche l’image du suddoku, il ne reste plus que lui !