Matlab 单击坐标、轴和imshow

Matlab 单击坐标、轴和imshow,matlab,user-interface,coordinates,Matlab,User Interface,Coordinates,我在使用MATLAB指南时遇到了一些问题 我在GUI(axes1)中有一个Axis对象,它正在显示一个图像(imshow(I))。 我需要存储用户单击图像时的坐标 我试过了 [x,y] = ginput(1). 此函数的问题在于它返回轴的坐标,而不是图像I的坐标。轴的坐标与图像对齐: 例如: figure(); imshow('peppers.png'); [x,y]=ginput(1) 如果您对越界条件感到烦恼,您可以在调用ginput后检查并删除它们: if x> size(im

我在使用MATLAB指南时遇到了一些问题

我在GUI(axes1)中有一个Axis对象,它正在显示一个图像(imshow(I))。 我需要存储用户单击图像时的坐标

我试过了

[x,y] = ginput(1). 

此函数的问题在于它返回轴的坐标,而不是图像I的坐标。

轴的坐标与图像对齐:

例如:

figure();
imshow('peppers.png');
[x,y]=ginput(1)
如果您对越界条件感到烦恼,您可以在调用
ginput
后检查并删除它们:

if x> size(im,2)
   x = size(im,2);
end
if y> size(im,1)
   y = size(im,1);
end

不,他们不是。如果我点击对象axes1的角,我会得到(x,y)>size(I)@user1384636你的意思是你会得到越界结果吗?您可以检查并选择图像上最近的可用点。那么为什么不根据图像设置轴限制?@Adiel,我不确定我是否理解您的意思。@Andrey抱歉,我没有注意到您问了这个问题,而不是用户1384636。我的评论是对他说的。