Fonctions > Traitement d'image > Manipulation des images > Exemple : Binarisation et quantification
  
Exemple : Binarisation et quantification
Utilisez la fonction binarize pour générer une image en deux niveaux de gris. Utilisez quantize pour générer une image en n niveaux de gris.
Pour chaque élément de l'image, les fonctions renvoient 0 si l'élément est ≤ à un seuil spécifié et 1 si l'élément est supérieur au seuil.
La binarisation et la quantification peuvent être utilisées pour améliorer les caractéristiques d'une image en choisissant le seuil ou le nombre de niveaux appropriés. Elles peuvent également constituer la première étape de l'analyse d'une image.
Pour plus d'informations sur l'utilisation de cet exemple, voir A propos des exemples de traitement d'image.
binarize
1. Utilisez la fonction READ_IMAGE pour lire dans une image.
Cliquez pour copier cette expression
(bridge.bmp)
2. Définissez le seuil.
Cliquez pour copier cette expression
3. Utilisez la fonction binarize pour produire une image binarisée.
Cliquez pour copier cette expression
4. Utilisez la fonction WRITEBMP pour écrire l’image binarisée dans un fichier.
Cliquez pour copier cette expression
(bridge_bin.bmp)
Vous pouvez modifier la valeur de thresh pour visualiser l'effet sur l'image.
Définition automatique de la binarisation
Utilisez la binarisation automatique pour mettre en surbrillance les éléments intéressants dans les applications de vision artificielle.
Si aucune valeur de seuil n'est spécifiée, la fonction binarize la calcule automatiquement.
1. Lisez une image numérisée en niveaux de gris d'une pièce industrielle.
Cliquez pour copier cette expression
2. Binarisez l'image.
Cliquez pour copier cette expression
3. Enregistrez l'image binarisée dans un fichier.
Cliquez pour copier cette expression
(part.gif)
(part_bin.bmp)
Utilisation des arguments facultatifs
Vous pouvez utiliser les arguments facultatifs lowThresh, highThresh, inValue et outValue pour mettre l'accent ou non sur des plages de niveaux particulières. Tous les niveaux compris entre lowThresh et highThresh sont binarisés en inValue et les niveaux restants sont binarisés en outValue. Les valeurs des paramètres d'entrée sont arbitraires et ne sont pas forcément comprises entre 0 et 255. inValue et outValue peuvent être identiques. Dans ce cas, l'image entière est définie sur un niveau uniquement.
1. Fixez les niveaux d'image de 50 à 150 et à 25, puis fixez le reste des niveaux à 200.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Binarisez la matrice d'image bridgegray à l'aide des arguments facultatifs.
Cliquez pour copier cette expression
3. Enregistrez l'image binarisée dans un fichier.
Cliquez pour copier cette expression
(bridge_bin2.bmp)
quantize
1. Appliquez la fonction quantize à l'image en niveaux de gris utilisée précédemment.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Enregistrez l'image quantifiée dans un fichier.
Cliquez pour copier cette expression
(bridge_q3.bmp)
3. Spécifiez les niveaux dans un vecteur et quantifiez la même image. Comparez cette quantification à la précédente :
Cliquez pour copier cette expression
Les valeurs dans v doivent être rigoureusement croissantes, mais il peut s'agir de nombres réels quelconques. Cette spécification est intéressante pour utiliser des niveaux de quantification qui ne sont pas uniformément répartis dans la plage de l'image concernée.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
(bridge_q3v.bmp)