1. Utilisez la fonction
READ_IMAGE pour lire dans une image.
2. Utilisez la fonction
WRITEBMP pour enregistrer l'image dans un fichier.
3. Définissez la plage et la fonction du noyau.
4. Evaluez la matrice du noyau 5 x 5.
Ce noyau est symétrique. L'effet est donc le même qu'une convolution, qui correspond à une corrélation avec le noyau inversé.
5. Définissez un facteur d'échelle mcscale.
6. Calculez la corrélation interne puis convertissez le résultat en niveaux de gris sur 8 bits (valeurs comprises entre 0 et 255).
7. Utilisez la fonction WRITEBMP pour enregistrer les résultats dans un fichier.
8. Tracez l'image d'origine et la corrélation de l'image avec le noyau.
(greyscale_dog.bmp)
(dog_cross.bmp)
Mise en correspondance de prototype
1. Utilisez la fonction READ_IMAGE pour lire dans une nouvelle image.
2. Utilisez la fonction WRITEBMP pour enregistrer les résultats dans un fichier.
(peas_carrots.bmp)
La sélection choisit une carotte représentative comme modèle.
3. Définissez la hauteur et la largeur du modèle.
4. Définissez la fonction val et utilisez-la dans la fonction
matrix pour créer le modèle.
5. Tracez le modèle et les images de carottes.
(template.bmp)
(carrot.bmp)
6. Définissez le seuil de corrélation.
7. Utilisez le modèle uniforme de la même taille que la carotte sélectionnée ou utilisez l'image représentative de la carotte elle-même pour calculer le nombre de correspondances :
(carrot_vect.bmp)
Presque tous les petits pois sont noircis, éliminés par les valeurs de seuil sans corrélation, tandis que la plupart des carottes demeurent visibles. La correspondance est faite entre l'image d'origine et le modèle rectangulaire de densité uniforme, qui enlève grossièrement les carottes dans cet échantillonnage aléatoire d'un paquet de légumes surgelés.
8. Calculez le pourcentage approximatif de carottes dans l'image d'origine.
Cette technique s'avère également utile pour le comptage de bactéries, ainsi que pour d'autres estimations de pourcentage portant sur les caractéristiques d'une image.