当我运行我的代码时,会有两个数字,一个是名字“图1”,另一个是“测试”。我要做的是让imshow在'test'上显示而不是'Figure 1'。
import Stomp from 'stompjs';
我退出循环后会出现此错误
使用imshow> validateParent时出错(第352行) HAX必须是有效的轴句柄。 imshow中的错误(第257行) validateParent(specific_args.Parent) 主要错误(第297行) imshow(图像, '父',handles.axes1);
* ps:我实际上并不知道为什么'图1'会存在。
答案 0 :(得分:1)
在检查你的问题时,我不确定'guihandles'是否覆盖轴柄;在一个例子中重新创建你没有的问题。另外,保存手柄时轴是否存在?
请尝试以下改编代码是否有效。
himg=GUI('name','test','NumberTitle','off'); %where GUI was designed using GUIDE
handles = guihandles(himg);
handles.axis1 = [];
while ishandle(himg)
if sum(depthMetaData.IsSkeletonTracked)>0
util_skeletonViewer(skeletonJoints,image,1,handles); %refer code below
else
if ~isempty(handles.axes1)
imshow(image,'Parent',handles.axes1);
else
figure(himg)
imshow(image,'Parent',gca);
handles.axes1 = gca;
end
end
end
function [] = util_skeletonViewer(skeleton, image, nSkeleton,handles)
if ~isempty(handles.axes1)
imshow(image,'Parent',handles.axes1);
else
figure(himg)
imshow(image,'Parent',gca);
handles.axes1 = gca;
end
答案 1 :(得分:0)
我也遇到了这个问题,所以我将描述我想出的快速解决方案。在一个您知道句柄正在按您期望的方式执行的函数中(在我的情况下,在OpeningFcn
中),我会将这些句柄另存为应用程序数据:
setappdata(0,'handles',handles);
然后在该函数中,句柄不代表我要调用的任何轴:
handles = getappdata(0,'handles');
然后执行此操作,使我可以访问自己定义的轴,例如handles.axes1
。
答案 2 :(得分:0)
在参数更改后,我试图实现最终的图像时遇到相同的问题。就我而言,我使用了多个图形,并且想要在按钮之后的最后一个图形的轴上显示结果:
from collections import OrderedDict
dDict = OrderedDict(sorted(dDict.items(), key=lambda x: x[1]["state"]))
因此要使用我的回调函数显示图像,解决方案是:
ok_mask_button= uicontrol(handles.pan,'Style','pushbutton','Units', 'normal',
'Position',[.55 .9 .08 .06],'FontSize',12,'FontWeight','bold',
'String','Ok','Callback', @Mask_parameters);
我需要使用gca来指定要在当前轴上工作。