MATLAB: comment utiliser un bouton-poussoir pour passer à l’image suivante dans une interface graphique de zone de liste

Bonjour,
J’ai essayé et essayé et je n’arrive pas à faire fonctionner mon morceau de code, je sais que je manque un peu de connaissances. J’essaie d’aller à la valeur suivante dans la zone de liste en utilisant la «valeur» Je sais que cela peut sembler un peu inutile car j’ai déjà la zone de liste avec laquelle je peux parcourir les images, mais dans le but de traiter l’image, cela faciliter l’analyse de chaque image,
 
function pushbutton3_Callback(hObject, eventdata, handles)
handles.output = hObject;
picfromlist = get(handles.listbox1,'value');
nextpic = picfromlist + 1;
buttonpress(hObject, eventdata, handles);
imshow(nextpic(handles.listbox1,'value'));
guidata(hObject, handles);
 
L’erreur que je reçois est.
 
Subscript indices must either be real positive integers or logicals.
Error in Groundtruth>pushbutton3_Callback (line 124)
imshow(nextpic(handles.listbox1,'value'));
 
Merci!

Meilleure réponse

  • Pour le faire « continuer », vous devrez mettre à jour la valeur de la zone de liste avec l’index que vous venez d’afficher. En commençant par le code dans mon commentaire, ajoutez ceci:
     

    if nextpic > length(MyListOfImages)
    nextpic = MyListOfImages;
    end
    imshow(MyListOfImages{nextpic});
    set(handles.listbox1,'Value', nextpic); % Update selection in listbox.