0

我有一个上面已经有轴的 gui...我想将文件名传递给该 gui 并将其显示在轴上...这是我尝试过的方法..这是写在 xyz.m 文件中的:

close current_gui;
 result_image(im2fn);

在这里,当前 gui 是我正在使用的 gui,result_image 是我要显示图像的 gui,im2fn 是具有图像文件名的变量...
在 result_gui 我写了以下代码..

function result_image_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);
axes(handles.axes1);
imshow(im2fn);

显示了 gui,但没有显示图像,而且我收到一个错误,因为未定义函数或变量 'im2fn'....请帮助!

4

1 回答 1

0

您收到此错误是因为im2fn它不是内部本地工作区的一部分OpeningFcn- 您对工作方式做出了错误的假设varargin。当您使用varargin时,它将是您传递的值的元胞数组。有关更多示例,请参见链接,但在您的情况下,您只想执行以下操作:

% Make sure the user passed us something to display
assert(~isempty(varargin), [mfilename ':NoImageToDisplay'], 'You must pass an image to the ''result_image'' GUI');
% Extract data from varargs
im2fn = varargin{1};
% Show it!
imshow(im2fn);
于 2013-03-29T11:22:27.050 回答