Projet Python : Redressement d’images de tableau P. Vanier, T. Kaced
Projet Python : Redressement d’images de tableau
Dernière modification : 28 septembre 2015
1 Consignes
—Date limite inscription groupes : 5 octobre
—Date limite rendu sur gitlab : 29 novembre
—Date de la soutenance : Semaine du 30 novembre.
Le projet est à faire par groupe d’au plus 2 personnes, vous devez inscrire le groupe sur la
page eprel avant le 5 octobre. Vous devez vous servir de git pour le rendu, l’interface gitlab est
http://git-etudiants.lacl.fret des slides d’initiation à git sont disponibles sur la page eprel du
cours de systèmes en L2.
Vous devez écrire un rapport (un simple fichier texte nommé rapport) que vous mettrez à
la racine de votre projet.
Seuls les projets rendus sur http://git-etudiants.lacl.frseront acceptés, vous devez faire des
commit régulièrement (un seul commit à la dernière minute entrainera une perte de plusieurs
points sur la note finale).
2 Le sujet
Le but de ce projet est d’écrire un package/module permettant à partir d’une photo de
tableau d’obtenir une image lisible et redressée, voir la figure 1.
Le projet peut être décomposé en plusieurs étapes intermédiaires :
1. Détection des bords du tableau
2. Découpage et redressement de l’image
3. Améliorations de l’image
Nous vous donnons ci-dessous une méthode pour faire chacune de ces étapes, celle-ci est
tirée de l’article Whiteboard Scanning and Image Enhancement de Zhengyou Zhang et Li-wei
He, que vous pouvez trouver dans le répertoire du projet sur éprel. Vous n’êtes pas obligés de
suivre cette méthode (vous pouvez l’améliorer si vous le souhaitez). Vous pouvez vous servir
de packages/modules python que vous voulez, y compris opencv (seule les versions 3.0 et
postérieures sont compatibles python 3) ou de scikit-image.
3 Détecter les bords
3.1 Détection de contours
La première étape pour détecter les contours est de prendre l’image convertie en niveaux
de gris. On utilise ensuite un filtre de Sobel pour calculer deux gradients pour chaque pixel :
M1 Python – Cours : P. Vanier 1/5