Getting no results from a mouse click when using ButtonDownFcn with imshow

1 view (last 30 days)
I'm unable to obtain (x,y) coordinates of an image using a mouse click with "imshow". I can do it with "image" but not with "imshow", and I need "imshow". I've seen lots of other posts on this issue, but none of their solutions seem to work, or the discussion is too technical for me.
I have 4 images arranged two by two, and I'm interested in clicking only on the image in subplot (2,2,3). But when I click nothing happens. Apparantly my function "clicky4" is not being called. Here's the relevant section of code:
global x y
.........
Image = single(rgb2gray(FilterRGBImage));
subplot(2, 2, 3);
vv = imshow(Image,'InitialMagnification', 'Fit');
set(vv, 'HitTest','off','PickableParts','none');
% Try to use the mouse to select a pixel
set(gca,'ButtonDownFcn', @clicky4)
And here is my function "clicky4":
function clicky4(gcbo,eventdata,handles)
%This function is supposed to grab the position (x,y) of the mouse upon a click
global x y
v = get(gca,'Currentpoint');
hold on
x = v(1,1);
y = v(1,2);
end
Any suggestions will be much appreciated. I'm a relative beginner at this stuff....

Answers (1)

Image Analyst
Image Analyst on 16 Mar 2019
Would ginput(1) or impixelinfo help you?
  8 Comments
jack feinberg
jack feinberg on 17 Mar 2019
Yup. That was the problem; my @function was stored inthe wrong location. A beginner's mistake! Thanks. It all works now!
Jan
Jan on 19 Mar 2019
@jack feinberg: Please use flags only to inform admins and editors about contents, which might conflict with the terms of use, but not to post a comment. Thanks.

Sign in to comment.

Categories

Find more on Images in Help Center and File Exchange

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!