Bonjour
On dispose d'une image en noir et blanc.
On extrait cette ligne.
On veut traiter l'image en éléminant l’excès du noir en suivant la règle suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 I=imread('Lena.bmp'); % on utilise la fonction dither pour mettre l'image en noir et blanc BW = dither(I); imshow(BW) % on va extraire la premiére ligne par exemple BWLigne001 = BW(1,:);
sur une ligne qui contient
00011000000000000011101............10011111
on souhaite la transformer comme ceci
00011000000100000011101............10011111
On a opter pour regionprops
on labélise ensuite la premiére ligne de l'image
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 L=bwlabel(BWLigne001); stats = regionprops(L,'Area','Centroid'); %seuil correspond à la valeur à partir de laquelle on va effectuer une modification au niveau des centres de gravités seuil=4; aireblanc= [stats.Area]; centredegravite = [stats.Centroid]
Ce qu'on souhaite faire c'est remplacer dans BW (l'image en noir et blanc) la valeur des centres de gravités modifiés.
Et le résultat final est BW
Je souhaite que vous m'aider au codage de la deuxiéme parti; l'algorithme est clair je crois.L'algorithme
LIRE L'image
EXPORTER L'image en noir et blanc
POUR Chaque Ligne de L'image Lena Faire (compteur nbrligne)
DETERMINER aireblanc et centredegravite
SI l'aire blanc> seuilmin
REMPLACER Le Centre de gravité de l'aire blanc associé par un pixel noir (valeur 0)
FIN SI
FIN POUR ECRIRE le changement de valeurs de centre de gravité dans l'image BW.
ENRGEISTRER BW.
![]()
Cordialement
Gilbert
Partager