Les opérations morphologiques modifient les images en fonction de la structure et de la disposition des pixels. Ils appliquent le noyau à une image d'entrée pour modifier ses caractéristiques en fonction de la disposition des pixels voisins. Les opérations morphologiques telles que l'érosion et la dilatation sont des techniques de traitement d'image, en particulier pour les images binaires ou en niveaux de gris. Ils aident à analyser les formes, à nettoyer le bruit et à affiner les limites des objets.
Érosion
L'érosion dans le traitement d'image est une opération morphologique qui réduit et amincit les limites des objets dans une image en supprimant les pixels sur les bords des objets, ce qui rend les objets plus petits et supprime le petit bruit blanc.
But
- Réduit ou érode les limites des objets de premier plan (généralement des pixels blancs).
- Supprime le bruit blanc fin et sépare les objets qui se touchent.
Comment ça marche
- Un noyau (généralement une matrice 3×3 5×5 ou 7×7) glisse sur l’image.
- Un pixel reste blanc (1) uniquement si tous les pixels sous le noyau sont blancs ; sinon il devient noir (0).
- Ce processus réduit la taille de l'objet et érode les bords.
Dilatation
La dilatation est une opération morphologique qui élargit les limites des objets dans une image en ajoutant des pixels aux bords des objets, ce qui fait paraître les objets plus grands et comble de petits espaces ou trous.
But:
- Élargit les limites des objets de premier plan.
- Accentue ou agrandit les traits et comble les petites lacunes.
Comment ça marche :
- Le noyau est également convolué sur l'image.
- Un pixel est mis en blanc (1) si au moins un des pixels correspondants sous le noyau sont blancs.
- En conséquence, les régions blanches se développent en fusionnant de petits trous ou en joignant les parties cassées.
Mise en œuvre de l’érosion et de la dilatation
Implémentons l'érosion et la dilatation avec OpenCV en Python
chaîne de liste java
Étape 1 : Importer des bibliothèques
Nous importerons les bibliothèques nécessaires
- CV2 : Bibliothèque OpenCV pour le traitement d'images.
- numpy : Pour les opérations numériques et pour créer des noyaux.
- matplotlib.pyplot : Pour afficher des images dans des cahiers.
Étape 2 : Charger l'image d'entrée et définir les éléments structurants (noyau)
Le noyau définit le voisinage de l'opération. Les choix courants sont les rectangles ou les disques.
PythonL'image utilisée peut être téléchargée à partir de ici .
img = cv2.imread('input.webp' 0) plt.imshow(img cmap='gray') plt.title('Original Image') plt.axis('off') plt.show() kernel = np.ones((5 5) np.uint8)
Sortir:
tutoriel de réaction js
OriginalÉtape 3 : Appliquer l’érosion
L'érosion fonctionne en faisant glisser le noyau sur l'image. Un pixel reste blanc (255) seulement si tous les pixels sous le noyau sont blancs sinon il devient noir (0). Cela réduit les limites des objets et supprime le petit bruit blanc.
Pythonimg_erosion = cv2.erode(img kernel iterations=1) plt.imshow(img_erosion cmap='gray') plt.title('After Erosion') plt.axis('off') plt.show()
Sortir:
Après l'érosionÉtape 4 : appliquer la dilatation
La dilatation fait glisser le noyau sur l'image et un pixel devient blanc si au moins un pixel sous le noyau est blanc. Cela épaissit les régions ou les objets blancs et remplit les petits trous.
coquille bourne-à nouveauPython
img_dilation = cv2.dilate(img kernel iterations=1) plt.imshow(img_dilation cmap='gray') plt.title('After Dilation') plt.axis('off') plt.show()
Sortir:
Après dilatationApplications
Érosion
- Suppression du bruit blanc isolé d'une image.
- Séparer les objets qui sont joints ou se touchent.
- Trouver les limites des objets en réduisant la taille de l'objet.
Dilatation
- Remplissage de petits trous ou lacunes dans les objets.
- Rejoindre des parties cassées ou déconnectées du même objet.
- Utilisé après l'érosion (dans le cadre de l'opération « d'ouverture ») pour restaurer la taille de l'objet tout en supprimant le bruit.
L'érosion et la dilatation sont des opérations morphologiques fondamentales dans le traitement d'images qui nous permettent d'affiner et de manipuler les formes des images. En utilisant des éléments structurants simples, ces techniques aident à supprimer le bruit, à séparer ou à connecter les objets et à améliorer les caractéristiques de l'image, ce qui en fait des outils essentiels pour un prétraitement et une analyse efficaces dans les tâches de vision par ordinateur avec OpenCV et Python.
Créer un quiz