我正在尝试将点击获得的坐标与加载的矩阵MT进行比较。
我编写了一个“ loadMT”函数来加载矩阵MT,并将其存储到句柄中,完成后会给出此信息(我相信这是MT已存储在句柄中的标志)
figure1: 173.0090
y_lbl: 11.0092
lbl_last_action: 10.0092
AverageModulus: 9.0092
axes1: 4.0092
slider: 3.0092
LoadMT: 0.0092
LoadImage: 174.0090
output: 173.0090
frameName: [599x1 struct]
pathname: [1x43 char]
no_frame: 599
MT: [4318x7 double]
currentframe: 101
鼠标单击坐标是通过本MATLAB建议的方法获取鼠标单击坐标的方式获得的。核心代码是
imageHandle = imshow(imObj);
set(imageHandle,'ButtonDownFcn',@ImageClickCallback);
function ImageClickCallback ( objectHandle , eventData )
MT=handles.MT;
axesHandle = get(objectHandle,'Parent');
coordinates = get(axesHandle,'CurrentPoint');
coordinates = coordinates(1,1:2);
它已经奏效,我得到了坐标。(没有MT = handles.MT行)
但是,单击图像时会出现此错误,这意味着我无法从手柄中提取MT
Undefined variable "handles" or class "handles.MT".
Error in GUI>ImageClickCallback (line 159)
MT=handles.MT;
如何在此处将MT从句柄传递到局部变量?我的搜索结果确实使我感到困惑。提前致谢
试试这个
set(imageHandle,'ButtonDownFcn',{@ImageClickCallback,handles};
同样在函数ImageClickCallback中,您需要这样添加句柄的类别:
function ImageClickCallback(objectHandle, eventData, handles)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句