How do you pass coordinates from getrect into a variable?

So I've probably misunderstood this function altogether.
When using GetRect I am trying to return the coordinate and drag distances to a variable. When I do this in my script I can't get it to store the values, only output them to screen.
Simple script I used:
Selection = getrect;
Output I got:
Selection =
-9.6608 -4.0233 4.0111 3.3819
Everytime I seem to instantly lose the values. When I immediately try to access them after they don't exist.

Antworten (2)

Image Analyst
Image Analyst am 25 Jan. 2016

0 Stimmen

Step through your code a line at a time and figure out when Selection vanishes. You're possibly either doing a clear(), or losing scope. If it's the latter, see the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_share_data_between_callback_functions_in_my_GUI.28s.29.3F

2 Kommentare

Stepping through shows the variable is never actually created. The very next line I start using the four elements to return the window to my main function. For now I am just directly calling it so I don't know why it's disappearing from memory.
The function getrect is supposed to return a 1x4 vector which I have named Selection then want to use the values from.
Here's my code:
%%Choose the Region
Selection = getrect; % Select the Area of Interest Using a Mouse
%%Results
X_Cut_Min = Selection(1,1);
Y_Cut_Min = Selection(1,2);
X_Cut_Max = Selection(1,3) + Selection(1,1);
Y_Cut_Max = Selection(1,4) + Selection(1,2);
Hard to replicate since I don't have your full code. If you want, you can use rbbox() or imrect() instead - they're essentially the same thing. But rbbox() "finishes" as soon as you lift the mouse button while imrect() lets you adjust the sides before "finishing".

Melden Sie sich an, um zu kommentieren.

Dustin Gutsche
Dustin Gutsche am 25 Jan. 2016

0 Stimmen

I feel like I have discovered something. If I separate the 'getrect' part into a separate function it works. I guess this means something about how I am manipulating the figure is incorrect....

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 25 Jan. 2016

Kommentiert:

am 26 Jan. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by