bonsoir, s'il vous plait comment faire une opération d'ouverture morphologique comme ça et merci.
![]()
bonsoir, s'il vous plait comment faire une opération d'ouverture morphologique comme ça et merci.
![]()
il faut utiliser la fonction 'imopen', avec un element structurant que tu choisis.
Ex :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 img = imread('rice.png'); res = imopen(img, ones(5, 5)); imshow(res);
oui j'ai utilisé la fonction 'imopen' mais elle ne donne pas un bon résultat comme la figure précédente:
et voici le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Image = imread('2.jpg'); figure imshow(Image); title('Originale'); % Calcul du seuil T % level = graythresh(Image); % BINARISATION % BW = im2bw(Image,level); % Affichage de l'image % figure; imshow(BW); title('Image binarisée'); se = strel('square',5); res = imopen(BW,se); figure imshow(res,[]); title('Ouverture');
![]()
Une opération toute seule est rarement suffisante pour obtenir une segmentation satisfaisante des images...
Dans le cas de ton image plusieurs stratégies sont possibles :
* utiliser une ouverture avec un élément structurant plus grand
* utiliser une alternance d'ouverture et de fermetures morphologiques avec des tailles croissantes (filtres alternés séquentiels)
* utiliser un filtrage par attribut -> ne garder que les régions suffisamment grandes
* travailler en niveaux de gris avant de seuiller
* ...
Partager