Le but est de supprimer les lignes fines et approximativement droites dans des images. Par exemple, dans l'image en niveaux de gris ci-dessous, on cherche à supprimer toutes les grandes lignes horizontales qui composent le tableau et les lignes de séparation.
L'image originale. | L'image résultat. |
Cette méthode n'est adaptée qu'aux images binaires ou en niveaux de gris parce qu'elle ne permet pas de conserver les couleurs initiales dans le cas d'images couleur.
Pour supprimer les lignes horizontales de l'image, la méthode utilise un avec comme élément structurant une ligne horizontale.
La taille de l'élément structurant définit la longueur des lignes qui seront supprimées. Le chapeau haut-de-forme supprime toutes les lignes horizontales plus grandes que la taille de la ligne utilisée comme élément structurant.
Parce que l'image obtenue est une image des différences entre l'image originale et l'image de fermeture, il faut ensuite ajouter la moyenne de la valeur des pixels de l'image de fermeture de manière à recouvrer les couleurs initiales.
Le chapeau haut-de-forme noir avec un élément structurant linéaire horizontal de demi-taille 7 permet de supprimer les lignes horizontales de longueur supérieure à 15 pixels (=2*7+1).
Un chapeau haut-de-forme noir correspond à la différence entre la fermeture (soit l'érosion de la dilatation de l'image) d'une image et l'image elle-même. Ici, nous prenons l'inverse du résultat pour obtenir des valeurs de différence négatives, soit l'image moins la fermeture.
Le traitement correspond donc à l'opération :
g(x,y) = f(x,y) - εH(δH(f(x,y)))
pany2pan bordereau.png bordereau.pan plineardilatation 0 0 7 bordereau.pan tmp1.pan plinearerosion 0 0 7 tmp1.pan bordereau1-1.pan psub bordereau.pan bordereau1-1.pan bordereau1-2.pan | |
bordereau1-1.pan : Après la fermeture de l'image. | |
bordereau1-2.pan : Après la différence entre l'image et sa fermeture. |
Pour recouvrer les niveaux de gris initiaux, il suffit d'ajouter à chaque pixel de l'image obtenue la moyenne des niveaux de gris de l'image de fermeture. On obtient alors l'image finale.
pmeanvalue bordereau1-1.pan tmp2.pan paddval tmp2.pan bordereau1-2.pan tmp3.pan pclipvalues 0 255 tmp3.pan bordereau2.pan | |
bordereau2.pan : Après l'ajout de la moyenne. |
Le même plan permet d'éliminer les lignes verticales de longueur supérieure à 21 pixels. Il suffit pour cela de changer l'élément structurant par une ligne verticale de demi-taille 10.
plineardilatation 90 0 7 bordereau.pan tmp1.pan plinearerosion 90 0 7 tmp1.pan bordereau1-1.pan psub bordereau.pan bordereau1-1.pan bordereau1-2.pan pmeanvalue bordereau1-1.pan tmp2.pan paddval tmp2.pan bordereau1-2.pan tmp3.pan pclipvalues 0 255 tmp3.pan bordereau3.pan ppan2png bordereau3.pan bordereau.png | |
bordereau3.pan : Après la suppression des lignes verticales. |