How to upload image using push button?

Below is the code I'm using and it works for browse the folder.But the image didn't come out.
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [FileName,PathName]=uigetfile({'*.bmp,*.jpg'},'Select a image file'); axes(handles.axes1); imshow([Path_Name,File_Name]);
Here is the error when I run the code:
Undefined function or variable 'Path_Name'.
Error in iris1>pushbutton1_Callback (line 83) imshow([Path_Name,File_Name]);
Error in gui_mainfcn (line 96) feval(varargin{:});
Error in iris1 (line 42) gui_mainfcn(gui_State, varargin{:});
Error in@(hObject,eventdata)iris1('pushbutton1_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating uicontrol Callback
Does anyone can suggest me a solution? Thank you.

 采纳的回答

Jan
Jan 2017-4-28
编辑:Jan 2017-4-28
Seriously? :-)
[FileName, PathName] = uigetfile({'*.bmp,*.jpg'},'Select a image file');
axes(handles.axes1);
imshow([Path_Name, File_Name]);
The error message tells you clearly, that the variable "Path_Name" does not exist. You have called it "PathName" without underscore.
Prefer the more stable:
[FileName, PathName] = uigetfile({'*.bmp,*.jpg'},'Select a image file');
imshow(fullfile(PathName, FileName), 'Parent', handles.axes1);
fullfile considers the file-separators. Defining the 'Parent' property is a little bit faster and more secure than relying on the current object: If a user clicks on any object between the two lines the image is displayed anywhere else.

3 个评论

I have try those code and it really works for me. I'm appreciate it. Thank you.

Using above code how can I convert it to grayscale for axes2

[baseFileName, folder] = uigetfile({'*.bmp,*.jpg'},'Select an image file');
fullFileName = fullfile(folder, baseFileName);
rgbImage = imread(fullFileName);
imshow(rgbImage, 'Parent', handles.axes1);
% Convert to gray scale.
grayImage = rgb2gray(rgbImage);
imshow(grayImage, 'Parent', handles.axes2);

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by