Effacer les filtres
Effacer les filtres

Can Matlab determine cursor position continuously?

3 vues (au cours des 30 derniers jours)
Art
Art le 13 Juil 2011
Commenté : Jim Hokanson le 24 Oct 2017
I have an image plot that was created with "imagesc", and I can use ginput to select (x,y) points on the image, then I can read the value of that particular pixel which I output to a figure that accompanies the image.
What I would like to do is have the (x,y) point and pixel value output continuously as I "mouse over" the image, without clicking. Can this be done?

Réponse acceptée

Jan
Jan le 13 Juil 2011
The WindowButtonMotionFcn can help:
FigH = figure('WindowButtonMotionFcn', @MotionFcn)
function MotionFcn(FigH, EventData)
get(FigH, 'CurrentPoint')
get(get(FigH, 'CurrentAxes'), 'CurrentPoint')
Now the current point is written to the command window, if the mouse if moved over the figure.
  5 commentaires
Art
Art le 14 Juil 2011
Thanks, Jan, that worked perfectly for what I wanted to do.
Jim Hokanson
Jim Hokanson le 24 Oct 2017

Connectez-vous pour commenter.

Plus de réponses (2)

Sean de Wolski
Sean de Wolski le 13 Juil 2011
See Matt Tearle's doodle function in this thread:

Walter Roberson
Walter Roberson le 13 Juil 2011
No, it is not possible to have the cursor position updated continuously. PS/2 and USB mice and serial mice only send coordinate updates periodically, not continuously. (Old joysticks, on the other hand, used to have analog position signals; with those and an analog to digital convertor, you could update the position as fast as the convertor could run.)
  2 commentaires
Jan
Jan le 13 Juil 2011
@Walter: I think the frequency of updates of the pixel position is limited by the runtime of the Matlab function for evaluating. For a fast movement the mouse position will not be displayed for all pixels.
Anyhow, I assume that "without clicking" is more important for the OP than a real continuity.
Walter Roberson
Walter Roberson le 13 Juil 2011
Mice do not report for every pixel! USB mice, by default, poll at a maximum of 125 Hz; see http://www.nextlevelgamer.com/tweaks/optimizing-your-usb-mouse-polling-rate
I have seen reports that PS/2 mice max out at 125 Hz but are often appreciably slower.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by