将文件名传递给gui以显示图像

时间:2013-03-29 10:07:33

标签: matlab

我有一个已经有轴的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'....请帮助!!

1 个答案:

答案 0 :(得分: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);