Érosion d'une image dans MATLAB

Ammar Ali 15 février 2024
Érosion d'une image dans MATLAB

Ce tutoriel abordera la recherche de l’érosion des images à l’aide de la fonction imerode() dans Matlab.

Trouver l’érosion d’une image à l’aide de la fonction imerode() dans MATLAB

L’érosion d’une image signifie le rétrécissement de l’image. Pour trouver l’érosion d’une image, il faut déplacer l’élément structurant sur la matrice et remplacer la valeur du pixel par la valeur minimale des voisins. La valeur du pixel sera définie sur zéro si la valeur minimale dans le voisinage est zéro. Tout d’abord, nous allons lire l’image à l’aide de la fonction imread() et la stocker dans une variable. Après cela, nous devons convertir les valeurs de l’image en binaire si ce n’est pas déjà le cas en utilisant la fonction im2bw(). Il faut aussi créer l’élément structurant. Après cela, nous devons utiliser la fonction imerode(), qui vérifiera les voisins de chaque pixel et remplacera la valeur du pixel par la valeur minimale des pixels. Par exemple, recherchons l’érosion d’une image en utilisant une matrice comme élément structurel dans Matlab et affichons-les dans une figure à l’aide des fonctions subplot() et inshow(). Voir le code ci-dessous.

OriginalImg = imread('text.png');
OriginalImg = im2bw(OriginalImg);
ErodMat = ones(3,3);
ErodedImg = imerode(OriginalImg,ErodMat);
figure
subplot(1,2,1)
imshow(OriginalImg)
title('Orignal Image')
subplot(1,2,2)
imshow(ErodedImg)
title('Eroded Image')

Production:

Érosion d’une image

Dans le code ci-dessus, nous avons utilisé une matrice 3 par 3 contenant des éléments pour éroder l’image d’origine. La taille de la matrice est directement proportionnelle à l’érosion de l’image. L’augmentation de la taille de la matrice augmentera l’érosion de l’image. Vous pouvez utiliser l’élément structurel de votre choix pour éroder l’image. Par exemple, vous pouvez utiliser une autre image pour éroder une image.

Auteur: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Article connexe - MATLAB Image