我有一个显示2D图像的GUI。但是,我无法使用鼠标坐标准确恢复数据。这是因为我无法正确地将图像坐标转换为数组索引。
我使用ginput来获取鼠标坐标。
任何帮助将不胜感激。 问候 Dushyant
答案 0 :(得分:0)
在matlab中显示图像时,原点(图像)位于图像的左上角,x轴向下增加,y轴向右增加,而鼠标则与x-坐标对齐轴向右增加,y轴向上增加(因此相对于图像坐标加上平移旋转+90度),,,所以你必须将你的一个坐标转换为另一个以获得正确的坐标值,例如,如果您的图形窗口的原点位于左上角,图像跨越整个帧,那么,
x_image = -y_mouse和
y_image = x_mouse。
答案 1 :(得分:0)
试试:
fig=figure, imshow(myfigure);
[x, y] = getpts(fig);