bonjour a tous,
ma question est la suivante, es ce qu'il existe une fonction sous matlab qui me permettre d'encadre un objet dans une image par un rectangle et savoir la hauteur et la largeur de ce rectangle.
merci beaucoup pour vous
bonjour a tous,
ma question est la suivante, es ce qu'il existe une fonction sous matlab qui me permettre d'encadre un objet dans une image par un rectangle et savoir la hauteur et la largeur de ce rectangle.
merci beaucoup pour vous
Bonjour,
la fonction RBBOX sera très utile ici.
Sinon tu as la focntion regionprops qui te fait ca de maniere automatique, quand l'image est labelisee :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 props = regionprops(img, 'BoundingBox'); props.BoundingBox
merci beaucoup,
pour la fonction rbbox() ,il me permet de sectionner une partir de mon image par un rectangle , il me donnais aussi la premiere pixel de la rectangle et la derniere pixel de la rectangle
es ce que je peux determiner la taille de la rectangle a partir de ces 2 pixels
quant a regionproprs je ne sais pas comment je vais l'utiliser??
merci
Bonjour,
je n'avais pas pensé au coté automatique de la détection... peu importe.
hanane78, à lire tes messages, je pensais que tu n'avais pas l'Image Processing toolbox. Si c'est le cas, je pense que tu devrais d'abord lire sa documentation pour identifier les fonctions qui te seraient utiles.
je vais réexpliquer mon problem j'ai une image segmenter par la procedure de multiseuillge .
l'image resultat contient seulement les objets par exemple 2 objets,
donc pour faire une bonne classification je dois determiner un pixel de cette objet et 50 pixel voisins puis je vais calculer leur moyenne,
pour faire tout ça , je dois selectioner l'objet par un rectangle et la taille de la rectangle depend de la taille de la fentere de l'objet . c'est a dire je dois selectionner manualement les objets presenter dans l'image segmenter par une fenetre puis selectionner un pixel aleatoirement dans cet objet mais il faut determiner un rectangle pour choisir seulement les pixels voisins dans cette rectangle.
la taille de l'image constant et la hauteur et la largeur de l'objet depend respectivement de la hauteur et la largeur de la rectangle
par koi je vais commecer
1. determination de la rectangle
2. sectionner les pixels de l'objet
je suis vraiment perturber
quelqu'un pourrai m'aidée
merci d'avence
si tu travailles avec des images segmentees, la fonction regionprops est surement utile.
On suppose que ton image segementee est labelisee, c'est a dire qu'elle ne contient que des 0 (pour le fond), ou des valeurs entieres, chaque valeur correspondant a une 'particule' ou un objet dans l'image distinct.
Si l'image resultat est binaire, on peut la labeliser avec la fonction 'bwlabel'.
Ensuite, on applique a l'image segmentee la fonction regionprops:
Code : Sélectionner tout - Visualiser dans une fenêtre à part seg = bwlabel(bin);
(On peut changer les parametres qu'on veut extraire).
Code : Sélectionner tout - Visualiser dans une fenêtre à part props = regionprops(seg, 'area', 'centroid', 'boundingbox');
Le resultat est un tableau de structures de donnees. pour avoir la bounding box de la particule qui avait le label '3', on fait;
Pour le centroide de la particule 12:
Code : Sélectionner tout - Visualiser dans une fenêtre à part box3 = props(3).BoundingBox;
et ainsi de suite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part centr12 = props(12).Centroid;
merci , je pense que ca peut m'aidee
merci beaucoup
Partager