bonjour à tous,
J'aimerais que l'utilisateur selectionne une partie de forme polygone sur une image donnée.Ensuite je vais enregistrer une matrice contenant la forme selectionné par l'utilisateur pour en effectué des calculs.
Avant de passer au calcul j'ai voulu m'assurer que j'enregistre la bonne matrice en affichant la sous image sélectionnée mais le problème est que j'obtiens pas la bonne image
j'ai écris le code suivant:
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
23
24 im = imread([inpn infn]); imh = imshow(im); [x,y] =getline('closed') %dessine un polygonne fermé avec la sourie XData = get(imh, 'XData'); YData = get(imh, 'YData'); xmingrid = max( XData(1), floor(min(x)) ) xmaxgrid = min( XData(2), ceil(max(x)) ) ymingrid = max( YData(1), floor(min(y)) ) ymaxgrid = min( YData(2), ceil(max(y)) ) xgrid = xmingrid : xmaxgrid; ygrid = ymingrid : ymaxgrid; m = xmaxgrid - xmingrid +1; n = ymaxgrid - ymingrid +1; A = zeros(m,n); for i=1:m for j=1:n A(i,j) = im(xmingrid+i-1, ymingrid+j-1); end end figure('Color','white'), image(A), colormap(cmap);
le problème est que j'obtiens une image avec les bonnes coordonnées xgrid et ygrid mais le contenu de l'image c'est du blanc avec la forme dessinée par l'utilisateur au lieu du contenu original de la partie sélectionnée.
peut être il y a une solution trivial pour ceux qui maîtrise déjà la programmation sous matlab, si c'est le cas je serais très reconnaissante pour celui qui peut me donner un coup de main
merciiiiiiiiiiiiiiii
Partager