Indexation d'images par la couleur

1. Quantification par sous-échantillonnage

Sauvegarder l'image ci-contre sur votre compte (clic droit sur l'image).
Lire et afficher  cette image sous
Matlab à l'aide de la commande imread :
img=imread('/home/login/BE/45.jpg');
image(img);


Exécuter la commande size(img) et commenter les résultats.

La matrice img est une matrice 3D contenant des valeurs comprises entre 0 et 255 codées sur 1 octet.
Pour quantifier les couleurs de cette image, on choisit de ne retenir que les 2 bits de poids forts pour chaque valeur.
Ecrire un programme sous
Matlab qui effectue cette opération.

Afficher le résultat.

2. Histogramme de couleur

Nous voulons indexer cette image par son histogramme de couleur. La couleur est quantifiée par sous-échantillonnage sur 2 bits pour chaque composante.
Ecrire un programme calculant l'histogramme correspondant.

3. Indexation d'image

Sauvegarder l'ensemble des images ci-dessous. Elles sont également enregistrées dans : bibimage.tar.
Appliquer le programme sur chaque image et mémoriser l'histogramme obtenu à chaque fois.

4. Recherche d'images similaires par la couleur

Ecrire un second programme sous Matlab qui demande à l'utilisateur d'entrer le numéro d'une image, et qui renvoie les 5 images les plus similaires en fonction d'une distance du type intersection d'histogramme calculée sur les histogrammes en couleur.

5. Variante

Modifier le programme pour que l'histogramme en couleur soit calculé cette fois par quantification par sous-échantillonnage sur 3 bits par composante.
Les résultats sont-ils « meilleurs » ?



Références iconographiques : http://www.freefoto.com/


Merci à Philippe Joly