我正在查看this question,以及Marc的答案,我无法按照描述使用getpts功能。 (顺便说一句,我只想评论Marc的答案,但该网站不允许我评论直到50的代表。)根据文件和Marc,使用
[x,y] = getpts(ax);
应该将用户的点选择限制在轴内,并且禁止在图的其余部分中选择点。对??
好吧,如果是的话,那就不行了。我正在编写一个程序,我想让用户指定一部分图像来切断。我通过imagesc()
命令用图像制作了一个图形。然后我尝试执行以下操作:
set(0,'CurrentFigure',1)
(因为他的节目有不止一个数字开放)
ax = gca;
[x,y] = getpts(ax);
小十字光标出现,我可以点击并选择图中任意位置的点,包括图像外的灰色边框区域。如果我运行[x,y] = getpts(gcf);
,这与我得到的行为完全相同所以,这里发生了什么?无论哪种方式,在整个图形窗口中都允许点选择,而不仅限于我的图像所在的轴区域......
我的Matlab版本是R2014a。