I am doing the GUI for image processing. I want to make about 2 axes in the GUI. I already manage to load image in axes 1. To continue, how can I pass the data of the image that I load on axes 1(that show original image) to axes 2(that show processed image) so that I can process the image in axes 2 without messing with the original image in axes 1?

 Akzeptierte Antwort

Ben11
Ben11 am 25 Aug. 2014
Bearbeitet: Ben11 am 25 Aug. 2014

1 Stimme

You can:
1) Create a dummy original image and store it in the handles structure of your GUI.
handles.DummyImage = OriginalImage;
guidata(hObject,handles);
2) In axes2, use something like:
imshow(handles.DummyImage); % example to display the image
%... do your processing.
to retrieve it in your axes 2 and do whatever you want with it. Youcan store anything you want in the handles structure of the GUI, so it's easy to pass variables between multiple callbacks.

1 Kommentar

Ahmad Nor
Ahmad Nor am 26 Aug. 2014
I tried based on your suggestion but it seems like not exactly what I want it to be. I want to process images using GUI, so I made a 'load' button and from there I will be able to choose any image in the folder to appear in axes 1 (done). Then the 'process' button will process the same image in axes 1 but make it appear in axes 2 so that I can see the differences (problem). I'm a rookie and just started using MATLAB couple of month ago.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Gefragt:

am 25 Aug. 2014

Kommentiert:

am 26 Aug. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by