Bonjour !
Je voudrais découper une image et utiliser la fonction ButtonDownFcn pour que certain bout d'image lance une fonction quand on clique dessus.
Je ne veux pas découper l'image en bloc de nxn pixels, mais découper l'espace qu'elle occupe dans l'objet axe par 10 en largeur et par 10 en longueur par exemple.

Sans découper l'image, ça marche nickel avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
set(img,'ButtonDownFcn',@capteur);
j'ai essayer de faire une double boucle que voici :

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
25
26
% ajout de l'image
X3 = imread('photo.jpg','jpg');
img=image('cdata',X3,'parent',photo);
set(photo,'xlim',[0.5 size(X3,2)-0.5],'ylim',[0.5 size(X3,1)-0.5])
 
% Découpage de l'image
S = size(X3);
nr = floor(S(1)/10);
nc = floor(S(2)/10);
decoup=cell(10,10);
    for r = 1:10
        for c = 1:10
            subX3(1:nr,1:nc)= X3((r-1)*nr+1:r*nr,(c-1)*nc+1:c*nc);
            set(decoup{r,c},'propriété',subX3); 
            set(decoup{r,c},'ButtonDownFcn',@capteur);
        end
    end
 
 
function capteur(hObject, eventData)
global r c
 
if (r==1 && c==1)
    analyse
end
end
Il ne se passe rien quand je clique sur l'image, je n'ai pas d'erreur dans la command window.
J'ai essayé de mettre : disp hello dans la fonction capteur pour voir ce qu'il se passe mais apparemment je ne vais même pas dans cette fonction^^

A force de tout bidouiller je finis par écrire n'importe quoi, alors s'il vous plait aidez moi