Subtraction Two images in a GUI

1 vue (au cours des 30 derniers jours)
shiffraw dagnechaw
shiffraw dagnechaw le 22 Août 2018
Réponse apportée : Rik le 22 Août 2018
I know how to subtract two images in the command window using imsubtract, but how do I do this in a GUI. If I have 3 axes/plots in my GUI , one where I import one image, another where I import another image, how do I subtract those two images and have the composite be displayed on the 3rd axes?

Réponses (1)

Rik
Rik le 22 Août 2018
A GUI in Matlab is nothing special: just a figure with some axes objects (which you can even generate with subplot if you like) and/or uicontrol elements. For your setup I would recommend making the axes with subplot in a 2x2 grid, using the last position for your buttons.
My small guide to avoid GUIDE:
  • Make a figure (with f=figure;) and look into the doc for figure which properties you want to turn off (you probably want to set Menu and Toolbar to 'none')
  • Create buttons and axes and everything you need with functions like uicontrol and axes. Save the handles to each element to fields of a struct (like handles.mybutton=uicontrol(_);)
  • When you've finished loading all data (and saving it to fields of your handles struct), and creating all the buttons, save your handles struct to the guidata of your figure like this guidata(handles.f,handles);. (You can also use getappdata and setappdata)
  • You can set the Callback property of many objects. If you do, use a function name with an @ in front, or a char array that can be evaluated to valid code. (like @MyFunction or 'disp(''you pushed the button'')')
  • Callback functions will be called with two arguments: the first is a handle to the callback object, the second is eventdata that may contain special information. To get access to your data, just use handles=guidata(gcbo);. You can replace the gcbo function with the name of the first input to your callback function if you prefer.
  • More information about callbacks can be found in multiple places in the doc, for example here.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by