Detecting cursor position inside or outside an object.
4 views (last 30 days)
Show older comments
Hi Everyone,
I have a problem and can not think of a how to approach it? Here it goes. I have an binary image containing a random line object inside a rectangle. Using the bwboundaries, i know the boundary points of the rectangle and random object. Now when i move the cursor, i get its current position as shown below.
[B,L,N,A] = bwboundaries(BW);
%Determine the screen size
SS = get(0,'ScreenSize');sh=SS(4); sw=SS(3);
%Determine current location of cursor
PL = get(0,'PointerLocation');
Yc=PL(1); Xc=sh-PL(2);
How can i know, if my current cursor location (Xc,Yc) is: 1) Outside the rectangle? Then perform single "beep" 2) inside the rectangle but outside the random object? perform "beep; pause(0.5); beep" 3) inside the object? Perform "beep; pause(0.5); beep; pause(0.5); beep"
Thanks RR
0 Comments
Accepted Answer
Jan
on 20 Jul 2011
The is the pointer location relative to the screen:
PL = get(0,'PointerLocation');
But I assume you want it either relative to the figure or an axes:
PLfig = get(gcf, 'CurrentPoint');
PLaxes = get(gca, 'CurrentPoint');
For live updates of the figure's current point value an WindowButtonMotionFcn must be defined.
For the in-polygon test see Walter's answer.
More Answers (1)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!