Vous êtes ici : Projets C/C++ > Statistiques

Statistiques sur des images


Ou comment valider la M8


Réalisation : Mars à Juin 2006

Plateformes : Windows 2000/XP, peut-être Linux (non testé)

Dans le cadre du premier cycle de mes études à l'INSA, j'ai eu à trouver une idée de projet de Statistiques, et à la réaliser.
J'ai décidé de mêler mes connaissances en informatique aux cours de statistiques, et voici le résultat.

Je vous transmet donc le résultat de mon travail, un programme écrit en C++ et utilisant la SDL pour manipuler les images, qui n'apporte strictement rien au monde de l'informatique.

Cependant, étant donné que j'ai vraiment beaucoup commenté le code (pour que les professeurs comprennent), ça peut vous intéresser.

Pour les plus pressés, vous pouvez télécharger le projet ici :
ProjetM8PierreYvesRicau.zip

Et une image pour montrer le résultat :
images/m8.png

Voici le fonctionnement du projet



En fait, il y a deux parties :
1)Quantifier une image : on la découpe en petits blocs. Sur chaque bloc, on réalise une quantification en répartissant les pixels dans des classes suivant les 3 valeurs de couleur, grâce à des tableaux de contingence.

2)Régénérer l'image aléatoirement à partir de ces tableaux de contingence. Je précise qu'on utilise bien l'aléatoire, avec la fonction rand, ce qui permet de vérifier que la quantification a bien marché. Et ce qui fait que le résultat est différent à chaque fois.
C'est ce que l'on voit sur l'image en bas à gauche.

3)Quantifier 2 textures : une texture cible, et une texture de remplacement. Dans cet exemple, la texture cible est un carré de neige, et la texture de remplacement un carré de sable.

4)Pour chaque bloc de l'image, calculer un coefficient de corrélation entre le bloc de l'image et la texture cible. Si on estime qu'il y a corrélation, on la remplace par une texture de sable, plus des différences de moyennes pour prendre en compte les effets d'ombre.

C'est ce qu'on peut voir en haut à droite.

L'image en bas à droite est la même que en haut à gauche, mais on a appliqué par dessus une nouvelle quantification puis une régénération de l'image.

Pour simplifier, dans cet exemple, le programme est censé remplacer la neige par du sable... En jouant sur le coefficient de corrélation, on put modifier le résultat.

Les gens qui ont les connaissances appropriées font des choses beaucoup plus efficaces. Néanmoins, quand on ne connait pas grand chose aux statistiques, ça permet de voir une application possible relativement simple.

Je tiens à préciser que l'archive ZIP contient le compte rendu du projet au format PDF.
© 2006-2008 Pierre-Yves Ricau