2013-03-29 3 views
0

У меня есть gui, у которого уже есть оси ... Я хочу передать имя файла этому gui и отобразить его на осях ... вот как я его пробовал ... это написано в файле xyz.m:передать имя файла gui для отображения изображения

close current_gui; 
result_image(im2fn); 

здесь, текущий графический интерфейсом является графическим интерфейсом я работал с и result_image является графическим интерфейсом, где я хочу показать изображение, 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); 

отображается графический пользовательский интерфейс, но re не отображается изображение, а также я получаю сообщение об ошибке как Undefined function или variable 'im2fn' .... Пожалуйста, помогите !!

ответ

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); 
+0

thanku so much ... – Twinkal

Смежные вопросы